【发布时间】: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
在执行以下操作时需要 301 htaccess 重定向规则的帮助:
www.name.com/wordA/wordB/* 到 www.name.com/WordNEW/wordA/wordB/*
我们基本上是在添加“WordNew”。
我有 3 个 wordA 和 5 个 wordB,总共 15 个路径变体。
【问题讨论】:
标签: .htaccess http-status-code-301
旋转这个尺寸:
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) 下重定向。
【讨论】:
如果 WordNEW 处于恒定位置,我快速而肮脏的解决方案是将 url 字符串拆分为“/”。在索引 1 处,我会添加字符串 WordNEW/ 。对于更可行的解决方案,我需要一些时间来思考。
【讨论】:
这是一个更简单的规则:
RewriteRule !^WordNEW/ /WordNEW%{REQUEST_URI} [L,R=301]
【讨论】: