0

我最近将 wordpress 网上商店转换为 magento 网上商店。现在我希望搜索引擎索引的所有旧网址都重定向到来自 magento 的新网址。由于它只有大约 150 种产品,我想我会手动完成。

这是我为所有产品尝试过的:

Redirect 301 /products-page/accu/unibat-ctz5s-bs/ http://www.domain.nl/accu-s/unibat-ctz5s-bs.html

它确实尝试重定向,但最终出现在以下 URL: http: //www.domain.nl/accu-s.htmlunibat-ctz5s-bs/,它给出了 404 :(

有人可以帮我吗?

4

1 回答 1

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. 将Rewrite2 个 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]
于 2012-11-01T06:45:00.863 回答