我似乎无法找到这个具体问题的答案,如果答案就很抱歉。
以下是我们在.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>
答案 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}},正如你所观察到的那样。