Apache-2.4

Apache 將所有無效的萬用字元子域重定向到根域

  • May 17, 2020

是否可以將所有 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>

當文件夾不存在時讓我們重寫

# 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

引用自:https://serverfault.com/questions/1017412