是否可以将所有 404 子域结果重定向到 apache2 中的根域?我在 DNS 提供商中使用通配符子域条目,并且 apache 设置为在与子域同名的文件夹中获取站点。但如果没有文件夹,我还希望它能够将其自身重定向到根域。
NameVirtualHost *:80
# Root domain
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public
</VirtualHost>
# Wildcard subdomains
<VirtualHost *:80>
ServerAlias *.example.com
VirtualDocumentRoot /var/www/%0/public
# Redirect to root if `$0` folder doesn't exist
</VirtualHost>
答案1
当文件夹不存在时让我们重写
# Redirect to root if `$0` folder doesn't exist
RewriteEngine on
RewriteCond /var/www/%{SERVER_NAME}/public/ !-d
RewriteRule . http://www.example.com/ [R=301,L]
我尝试使用 DOCUMENT_ROOT,但没有成功
# RewriteCond %{DOCUMENT_ROOT} !-d