使用.htaccess批量重定向URL

时间:2017-02-16 10:54:30

标签: .htaccess redirect

我一直在尝试从旧的URL到新的URL进行批量重定向。但是我想我可能做错了什么。重定向可以部分工作。

RewriteRule ^blogs/blog/.*$ https://elashsupplies.com.au/blog/$1 [L,R=301]
RewriteRule ^blogs/blog/tagged/.*$ https://elashsupplies.com.au/blog/tag/$1 [L,R=301]

这会重定向网址,但仅限于/ blog,而不是发布给自己的帖子。想知道我可能做错了什么以及如何解决它。

1 个答案:

答案 0 :(得分:1)

将我的评论翻译成答案。

问题是,即使您在目标中使用反向引用$1,您也无法在规则中捕获正则表达式模式中的文本。你应该使用:

RewriteRule ^blogs/blog/(.*)$ https://elashsupplies.com.au/blog/$1 [L,R=301,NE,NC]

RewriteRule ^blogs/blog/tagged/(.*)$ https://elashsupplies.com.au/blog/tag/$1 [L,R=301,NC,NE]

同样重要的是在.htaccess中保留这些重定向规则之前所有其他重写规则。考虑将这些规则移至Apache或虚拟主机配置文件以获得更好的性能。