我想重定向: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]
唯一的区别是最后一个示例在新路径的末尾包含一个斜杠(
/
)。