【问题标题】:What's wrong with this htaccess?这个htaccess有什么问题?
【发布时间】:2016-09-24 01:38:17
【问题描述】:

我正在尝试将站点从一个域上的一组静态 html 页面移动到 WordPress 上的新域。所以我希望每个旧页面都重定向到新域上相应的新页面。

旧域的结构是这样的:

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]

而且它有效(有点)。唯一的 GIANT 问题是现在所有页面都重定向到第一个新页面,在本例中为 http://www.domain-new.com/new-category/new-sub-category/page1/

显然我不是专家,但我在谷歌上花了几个小时寻找答案并尝试了一些事情,但不知道如何做到这一点,我发现最接近的是将 domain A 重定向到 domain b 删除扩展,所以这是我的最后一个资源。

任何帮助表示赞赏!

【问题讨论】:

    标签: wordpress .htaccess redirect


    【解决方案1】:

    这种情况是主要问题:

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

    这将始终计算为true,因为变量HTTP_HOST 仅匹配网络请求的主机名部分而不是完整的 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]
    

    【讨论】:

    • 您需要 15 次以上的代表来支持任何答案。现在你有 17 个,所以你可以根据需要投票。
    【解决方案2】:

    您过于复杂了。无需进行所有这些处理,只需使用重定向指令即可。

    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/
    

    【讨论】:

      猜你喜欢
      • 2012-11-12
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 2012-05-26
      • 2021-08-20
      • 2015-09-23
      相关资源
      最近更新 更多