【问题标题】:301 Redirect Rule301重定向规则
【发布时间】:2009-12-03 00:03:54
【问题描述】:

在执行以下操作时需要 301 htaccess 重定向规则的帮助:

www.name.com/wordA/wordB/* 到 www.name.com/WordNEW/wordA/wordB/*

我们基本上是在添加“WordNew”。

我有 3 个 wordA 和 5 个 wordB,总共 15 个路径变体。

【问题讨论】:

    标签: .htaccess http-status-code-301


    【解决方案1】:

    旋转这个尺寸:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/WordNEW [NC]
    RewriteRule ^(.*)$ /WordNEW/$1 [L,R=301]
    

    分解

    RewriteCond %{REQUEST_URI} !^/WordNEW [NC]
    

    检查请求的 URI 是否以与最终相同的文件夹路径 (/WordNEW) 开头 (!^)。如果是这样,您已经重定向过一次,或者您已经在那里。如果您不检查,那么您最终可能会一遍又一遍地重写路径。

    RewriteRule ^(.*)$ /WordNEW/$1 [L,R=301]
    

    如果通过,获取整个请求的 URI (^(.*)$) 并在前面加上新的文件夹路径 (/WordNEW/$1)。然后将其标记为 RewriteRule 中的最后一条规则 (L),同时在 301 (R=301) 下重定向。

    【讨论】:

      【解决方案2】:

      如果 WordNEW 处于恒定位置,我快速而肮脏的解决方案是将 url 字符串拆分为“/”。在索引 1 处,我会添加字符串 WordNEW/ 。对于更可行的解决方案,我需要一些时间来思考。

      【讨论】:

        【解决方案3】:

        这是一个更简单的规则:

        RewriteRule !^WordNEW/ /WordNEW%{REQUEST_URI} [L,R=301]
        

        【讨论】:

          猜你喜欢
          • 2010-12-22
          • 2011-01-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-21
          相关资源
          最近更新 更多