比如说博客永久链接结构是(年/月/标题)
http://blog.example.com/2012/04/my-title
现在发布的永久链接是:
http://blog.example.com/my-title
为确保Google搜索结果不会中断,我想添加.htaccess重定向。在他们的网站上使用Yoast Permalink Redirector生成器建议添加:
RedirectMatch 301 ^ /([0-9] {4})/([0-9] {2})/([^ /] +)/ $ http://blog.example.com/ $ 3
乍一看效果很好。但是WordPress也有附件网址,例如:
http://blog.example.com/2012/04/my-title/my-attachment-url/
该链接应重定向到:
http://blog.example.com/my-title/my-attachment-url/
但是在使用Yoast重定向时并不是这样。有关如何更新.htaccess正则表达式以捕获附件网址的任何想法?我会在同一时间保持谷歌搜索。也可以在WP Stack Overflow上发布,但是SO倾向于获得服务器正则表达式htaccess问题的更好答案。
答案 0 :(得分:1)
我认为你的正则表达基本上是正确的。你只需要用反斜杠来逃避斜线:
^\/([0-9]{4})\/([0-9]{2})\/([^/]+)\/$
实际上capture your attachment URLs围绕着你最后一个贪婪地说“匹配一切不是一刀斩”的捕捉小组,再加上斜线,一个新的小组贪婪地再次匹配那个小组:
^\/([0-9]{4})\/([0-9]{2})\/(([^/]+)\/)+$
此外,您可以将?:添加到组以使其不匹配。