如果您有权访问服务器配置文件,这对我有用(在 httpd.conf 中设置):
<Location />
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^123.123.123.123$
RewriteRule (.*) http://www.mainsite.example.com/ [L]
</Location>
如果我通过 IP 地址访问该站点,它不会被重写。如果我使用 (eg.) http://mainsite.example.com
,地址将被重写(包括www.
)。([L]
在 httpd.conf 中使用时)在那里停止重写处理(而不是现在尝试重写新地址)。
在那里你也可以拥有
ServerName www.mainsite.example.com
ServerAlias mainsite.example.com
ServerAlias www.mainsite
ServerAlias mainsite
ServerAlias 123.123.123.123
这样人们就可以使用这些地址中的任何一个(第二个和第三个别名让内部用户省略域),而不是重写来强制或添加www
.