我目前正在使用由 apache 托管的备用子域名(www 之外)。
我正在努力去理解其中的某些事物是如何运作的。
例如,我有,dev.test.com
而且www.test.com
效果很好。
不过,我想改变它,这样如果有人去test.com
或anything.test.com
他们就会被引导到www.test.com
。
我尝试了以下操作:
ServerAlias www.test.com *:test.com
但这一切只是将所有流量引导test.com
至设置的目录位置。
以下是我目前拥有的:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName test.com
ServerAlias dev.test.com
DirectoryIndex index.php
DocumentRoot /var/www/test.com/dev_www/
<Directory />
Options -FollowSymLinks -Includes -Indexes -MultiViews
AllowOverride None
</Directory>
<Directory /var/www/test.com/dev_www/>
<LimitExcept GET POST>
deny from all
</LimitExcept>
Options -FollowSymLinks -Includes -Indexes -MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName test.com
ServerAlias www.test.com
DirectoryIndex index.php
DocumentRoot /var/www/test.com/www/
<Directory />
Options -FollowSymLinks -Includes -Indexes -MultiViews
AllowOverride None
</Directory>
<Directory /var/www/test.com/www/>
<LimitExcept GET POST>
deny from all
</LimitExcept>
Options -FollowSymLinks -Includes -Indexes -MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
任何建议都将不胜感激!提前谢谢您!
答案1
你会想要查看改写模块
RewriteCond %{HTTP_HOST} !^www\.test\.com$ [NC]
RewriteCond %{HTTP_HOST} !^dev\.test\.com$ [NC]
RewriteRule ^(.*)$ http://www.test.com/$1 [R=301,L]
这表示:如果主机不等于“www.test.com”或“dev.test.com”(不区分大小写),则重定向到 www.test.com