![虚拟主机将不存在的子域名重定向至 www](https://linux22.com/image/561040/%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E5%B0%86%E4%B8%8D%E5%AD%98%E5%9C%A8%E7%9A%84%E5%AD%90%E5%9F%9F%E5%90%8D%E9%87%8D%E5%AE%9A%E5%90%91%E8%87%B3%20www.png)
我知道使用 apache 进行重定向有很多种不同的方法,但我想检查这是否是通过虚拟主机进行重定向的正确方法?
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example/public
<Directory "/var/www/example/public">
Options +FollowSymlinks
# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini|log)">
Order deny,allow
Deny from all
</FilesMatch>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
</Directory>
<Directory "/var/www/example/public/admin/view/javascript/ckeditor">
AddType application/x-javascript .js
AddType text/css .css
AddType text/xml .xml
</Directory>
ErrorLog /var/log/apache2/example-error.log
LogLevel warn
CustomLog /var/log/apache2/example-access.log combined
</VirtualHost>
# Redirect for all non existent subdomains
<VirtualHost *:80>
ServerAlias *.example.com
Redirect 301 / http://www.example.com
</VirtualHost>
答案1
我会使用文本参数permanent
而不是数字状态301
(Redirect
或者RedirectPermanent
首先使用)。但那只是表面文章。
否则,将任何子域名 != 重定向www
到您的规范 URL 的配置就很好了。