我最近将wordpress网上商店转换为magento网上商店。现在我希望搜索引擎索引的所有旧网址都从magento重定向到新网址。 由于它只有大约150种产品,我认为我会手动完成。
这是我为所有产品尝试的内容:
Redirect 301 /products-page/accu/unibat-ctz5s-bs/ http://www.domain.nl/accu-s/unibat-ctz5s-bs.html
确实会尝试重定向,但最终会显示在以下网址:http://www.domain.nl/accu-s.htmlunibat-ctz5s-bs/,其中包含404 :(
有人可以帮助我吗?
答案 0 :(得分:1)
听起来你的htaccess末尾的mod_rewrite规则干扰了你的mod_alias指令(Redirect
语句)。在这种情况下,您需要执行重定向,然后跳出URL /文件映射管道,因为mod_rewrite和mod_alias都在管道中执行它们的操作,它们都会破坏URI。只需坚持使用mod_rewrite,将所有语句更改为:
RewriteRule ^/?products-page/accu/unibat-ctz5s-bs/$ http://www.domain.nl/accu-s/unibat-ctz5s-bs.html [L,R=301]
这些需要在之前任何其他规则。但请记住,Redirect
语句的工作方式与使用RewriteRule
重定向的方式相同。 Rewrite
“将”2个URI路径节点链接在一起。如下所示:
Redirect 301 /foo http://www.domain.nl/bar
将/foo
和/bar
链接在一起,因此/foo/blah/blah.html
的请求会重定向到http://www.domain.nl/bar/blah/blah.html
。为了将此功能转换为您需要的重写规则:
RewriteRule ^/?foo(.*)$ http://www.domain.nl/bar$1 [L,R=301]