我对301重定向的学习曲线进行了大量的研究,包括在这个论坛上查看答案。我还没找到我的特定查询的答案,这需要从网址请求的中间删除元素。
即,我正在构建一个包含动态链接的新网站(WordPress,但该问题适用于任何CMS)。
我需要从链接(也是动态)重定向结构化为:
sitename.com/issue/february-2016/post/ 动态后名称
(2016年2月就是一个例子 - 可能是2014年3月'或任何一系列术语)
于: sitename.com/post/dynamic-post-name
另一种说法:任何带/ article /的请求url需要抓取最后一个字符串(我认为它是通配符?)并将其重定向为:sitename.com/post/$
这可能吗?
更新:通过更多研究,我发现了一个可用于测试工具的答案,尽管我还没有在我的网站上进行过现场测试。
这看起来是否正确?
RewriteRule ^([^ /] +)/([^ /] +)/ article /([^.]+)$ article / $ 3 [QSA,L]
答案 0 :(得分:0)
RewriteRule ^article/.*/(.*)$ post/$1 [QSA,L,R=301]
这样的事情应该有效。
括号(.*)
中捕获的字符将为$1
。
随时更改article
和post
以满足您的需求。
在这种情况下,它将重定向
http://example.com/article/february-2016/post/dynamic-post-name
到
http://example.com/post/dynamic-post-name