将 /attachments/ 目录中的所有内容重定向到上一级,同时删除 /attachments/ 之后的所有内容

将 /attachments/ 目录中的所有内容重定向到上一级,同时删除 /attachments/ 之后的所有内容

WordPress 会为通过帖子编辑器上传并“附加”到该帖子的任何图像创建一个附件页面。迁移网站后,这些附件页面不再存在,我们现在有大约 1000 个指向 404 的链接。

因此,我想找到一种方法来对字符串中包含 /attachement/ 的任何 url 进行重定向,然后将该 url 推回到上一级(恰好是帖子页面)。例如:

http://mysite.com/2012/news/blog-post-title/attachment/image-page/(不存在)将会去 http://mysite.com/2012/news/blog-post-title/(确实存在)。

除了重定向到上一级之外,我还需要删除 /attachment/ 之后的所有内容(在本例中为“image-page”。

有什么建议么?

提前致谢

答案1

这听起来像是一个非常简单的重写;除非缺少某些东西,否则您可以使用:

RewriteRule ^(.*)/attachment/?.*$ $1/

以下是一些测试用例:

/2012/news/blog-post-title/attachment/image-page/ -> /2012/news/blog-post-title/
/2012/news/blog-post-title/attachment             -> /2012/news/blog-post-title/
/2012/news/blog-post-title/attachments            -> N/A

希望这可以帮助!

相关内容