htaccess 301 重定向某些 URL 模式

Posted

技术标签:

【中文标题】htaccess 301 重定向某些 URL 模式【英文标题】:htaccess 301 redirect certain URL pattern 【发布时间】:2011-04-29 02:51:22 【问题描述】:

我想重定向:http://site.com/FOO/BAR/BAZ

http://site.com/FOO/NEW/BAZ

所以,用一个新的替换我的 URL 中的第二个部分。

理想情况下,我希望使用 HTACCESS 和 301,因为这些页面已永久移动。

网址结构不会改变。理想情况下不会有查询字符串,但有也无所谓。

谢谢

8EDIT* - 我应该澄清并说“BAR”不是通配符 - 它是一个词。现实生活中的例子是:

旧链接:site.com/events/details/XXX

新链接:site.com/events/VIEW/xxx

我不要:site.com/events/add-new

重定向。就我而言,如果第二段等于“详细信息”。

进一步说明 抱歉还不是很清楚。

现有网址:site.com/events/details/%wildcard%

应该重定向到site.com/foo/view/%wildcard%

但没有别的。

【问题讨论】:

请检查我的回答中的第二个编辑。这个应该适合你,我试过了。 【参考方案1】:

这个呢?

RewriteEngine On
RewriteRule ^FOO/(.+)/BAZ$ FOO/NEW/BAZ [L,R=301]

编辑:不确定,但您可能需要传递整个地址,这是另一个代码示例:

RewriteEngine On
RewriteRule ^FOO/(.+)/BAZ$ http://site.com/FOO/NEW/BAZ [L,R=301]

第二次编辑:这是最终解决方案。我今天在共享主机上试过了,效果很好。

RewriteEngine On
RewriteRule ^FOO/(.+)/BAZ$ http://site.com/FOO/NEW/BAZ/ [L,R=301]

唯一的区别是最后一个示例在新路径的末尾包含一个斜杠 (/)。

【讨论】:

谢谢,现在测试一下。我也稍微修改了我的帖子。 必须是斜线,这个 htaccess 东西让我大吃一惊。非常感谢

以上是关于htaccess 301 重定向某些 URL 模式的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个 301 重定向会导致重定向到错误的 url?

重定向.htaccess 301

url变量的htaccess 301重定向问题

htaccess 重定向 301 + 重写冲突

.htaccess 无扩展 url 和 301 重定向循环

.htaccess 中的 301 重定向