2016-09-23 79 views
1

我正尝试将网站从一个域上的一组静态html页面移至WordPress上的一个新域。所以我希望每个旧页面都会重定向到新域的相应新页面。这个htaccess有什么问题?

旧域的结构,像这样:

http://www.example.com/page.html 

和新域具有这样的结构:

http://www.example-new.com/category/sub-category/page/ 

所以,我想这一点:

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page1.html [NC] 
RewriteRule ^(.*)$ http://www.domain-new.com/new-category/new-sub-category/page1/ [R=301,L] 

RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page2.html [NC] 
RewriteRule ^(.*)$ http://www.domain-new.com/new-category/new-sub-category/page2/ [R=301,L] 

RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page3.html [NC] 
RewriteRule ^(.*)$ http://www.domain-new.com/new-category/new-sub-category/page3/ [R=301,L] 

RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page4.html [NC] 
RewriteRule ^(.*)$ http://www.domain-new.com/new-category/new-sub-category/page4/ [R=301,L] 

RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page5.html [NC] 
RewriteRule ^(.*)$ http://www.domain-new.com/new-category/new-sub-category/page5/ [R=301,L] 

而且它的工作原理(有点)。唯一的巨人问题是,现在所有页面重定向到第一个新页面,在这种情况下http://www.domain-new.com/new-category/new-sub-category/page1/

显然我不是专家,但我花了几个小时在谷歌寻找答案和尝试的东西,不能如何做到这一点,我发现最接近的是关于重定向domain Adomain b删除扩展名,所以这是我的最后一个资源。

任何帮助表示赞赏!

回答

2

这种情况的主要问题是:

RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page1.html [NC] 

这将始终计算为true因为变量HTTP_HOST只匹配主机名web请求不完整的URL的一部分。

你可以在你的.htaccess使用单一的规则:

Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{HTTP_HOST} ^(?:www\.)?domain-old\.com$ [NC] 
RewriteRule ^([\w-]+)\.html$ http://www.domain-new.com/new-category/new-sub-category/$1/ [R=301,L,NC] 
+1

这是惊人的,像一个魅力工作,非常感谢! –

+0

你需要15 +代表upvote任何答案。现在你有17,所以你可以upvote,如果你想。 – anubhava

+1

我注意到了,已经做到了:) –

1

你过于复杂这一点。而不是所有的处理,只需使用重定向指令。

Redirect 301 /page1.html /new-category/new-sub-category/page1/ 
Redirect 301 /page2.html /new-category/new-sub-category/page2/ 
Redirect 301 /page3.html /new-category/new-sub-category/page3/ 
Redirect 301 /page4.html /new-category/new-sub-category/page4/