RedirectMatch 301将相同的页面URL指向多个TLD

时间:2013-11-26 14:33:34

标签: php .htaccess magento redirect http-status-code-301

我们正在开发一家magento商店,此前已经实施了多次301重定向。原始的.htaccess文件有很多规则,如下所示:

RedirectMatch 301 ^/original-page.html http://www.yourdomain.co.uk/our-new-directory/new-page.html
RedirectMatch 301 ^/original-page2.html http://www.yourdomain.co.uk/our-new-directory/new-page2.html 
RedirectMatch 301 ^/original-page3.html http://www.yourdomain.co.uk/our-new-directory/new-page3.html

该网站现已设置了新的TLD,因此,如果您访问http://www.yourdomain.de/original-page.html,则会重定向到http://www.yourdomain.co.uk/our-new-directory/new-page.html

我想要做的是让我们拥有以下内容:

有人输入:

http://www.yourdomain.co.uk/original-page.html and gets redirected to http://www.yourdomain.co.uk/our-new-directory/new-page.html

http://www.yourdomain.de/original-page.html and gets redirected to http://www.yourdomain.de/our-new-directory/new-page.html

基本上,重定向应考虑用户所在的TLD。这样做的主要原因是网站上的许多网页都有重定向的网址。

对此的任何帮助都很棒。

亲切的问候, 路易斯

2 个答案:

答案 0 :(得分:0)

将此代码放在DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.yourdomain\. [NC]
RewriteRule ^original-page\.html$ http://%{HTTP_HOST}/our-new-directory/new-page.html [R=301,L]

答案 1 :(得分:0)

您可以删除重定向的主机名部分:

RedirectMatch 301 ^/original-page.html /our-new-directory/new-page.html
RedirectMatch 301 ^/original-page2.html /our-new-directory/new-page2.html 
RedirectMatch 301 ^/original-page3.html /our-new-directory/new-page3.html