在某些浏览器中未在url中指定www时,301重定向出现问题

时间:2013-09-30 22:32:51

标签: .htaccess redirect

我似乎无法找到这个具体问题的答案,如果答案就很抱歉。

以下是我们在.htaccess中的重定向

Redirect 301 /product-name /products/product-name/

问题: 如果关闭www,则重定向会更改路径,不再有效。例如如果将其输入浏览器窗口:

domain.com/product-name

然后重定向在浏览器窗口中创建这个URL,这显然不会去任何地方:

www.domain.comproduct-name

不确定我做错了什么抱歉 - 我还应该提一下,我们在虚拟主机文件的底部有一个非www重定向,如下所示:

<VirtualHost *:80>
    ServerName domain.com
    Redirect permanent / http://www.domain.com
</VirtualHost>

2 个答案:

答案 0 :(得分:3)

在您的重定向中添加/ after .com,从非www到www:

Redirect permanent / http://www.domain.com/

答案 1 :(得分:1)

您需要在/规则中添加一个尾随Redirect

Redirect permanent / http://www.domain.com/

documentation for that directive州:

  

匹配的URL路径之外的其他路径信息将附加到目标URL。

匹配的网址路径为/,因此任何“超出”的内容都会被追加。在http://domain.com/product-name中,匹配的/之外的部分为product-name,因此将其附加到http://www.domain.com(不再放入/)会给您{{ 1}},正如你所观察到的那样。