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

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

因此,用我的网址替换第二段。

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

URL结构不会改变。理想情况下,不会有查询字符串,但是不要紧。

谢谢

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%

但没有别的。

最佳答案

这个如何?

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]


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

10-07 19:27
查看更多