http 301 重定向问题

http 301 重定向问题

我对重定向有点迷茫。

我希望 mysite.com、www.mysite.com 和 www.mysite.co.uk 重定向到 mysite.co.uk。

在 Apache 中,我为 mysite.co.uk 编写了这段代码,以便将 www 重定向到根域:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www
RewriteRule ^/(.*) http://mysite.co.uk/$1 [L,R=301]

对于 mysite.com,我写了这个重定向到 mysite.co.uk:

ServerName www.mysite.com
RewriteEngine on
RewriteRule ^/(.*) http://mysite.co.uk/$1 [L,R=301]

这样,我可以让重定向从 www.mysite.com 正常到 mysite.co.uk,但同时对 mysite.com 和 mysite.co.uk(不带 www)不起作用。有人能告诉我如何使所有重定向在所有情况下都起作用吗?

答案1

在 www.mysite.com 的配置中,添加以下内容;

ServerAlias mysite.com

这也会使得 VirtualHost 响应该主机名,并且由于 VirtualHost 条目中的唯一配置是重定向,因此它会响应。为了获得加分,您还可以添加;

ServerAlias www.mysite.co.uk

并完全放弃第一个 VirtualHost 条目中的 RewriteRules。

答案2

那么使用 apache 指令怎么样:

 Redirect

或者

 RedirectPermanent

http://httpd.apache.org了解更多信息。

相关内容