简体   繁体   English

将多个页面重写为一页的规则

[英]rewrite rule for several pages to one page

I need a Rewrite Rule for the following pages: 我需要以下页面的重写规则:

/blog/2015/09/05/name-of-page.html
/old-category-name/name-of-page/
/old-category-name/name-of-page

All need to redirect to /new-category-name/name-of-page/ 所有需要重定向到/ new-category-name / name-of-page /

But,there might also be file names such as /old-category-name/name-of-page-two which would redirect to /new-category-name/name-of-page-two/ 但是,也可能存在文件名,例如/ old-category-name / name-of-page-two,它们将重定向到/ new-category-name / name-of-page-two /

I came up with the following regex: 我想出了以下正则表达式:

(\blog\/\[0-9]{4}\/[0-9]{2}\/[0-9]{2}\/|old-category-name)\/\/name-of-file(\.html|\.htm|\/|\s)

It is working in Regex Pal, but the following redirect does not work in my htaccess file: 它在Regex Pal中工作,但以下重定向在我的htaccess文件中不起作用:

Rewrite Rule (\blog\/\[0-9]{4}\/[0-9]{2}\/[0-9]{2}\/|old-category-name)\/\/name-of-file(\.html|\.htm|\/|\s) http://example.com/new-category-name/name-of-file/

Can anyone give me some advice? 谁能给我一些建议? Thanks! 谢谢!

You need to fix your regex and overall syntax: 您需要修复正则表达式和整体语法:

RewriteEngine On

RewriteRule ^(?:blog/\d{4}/\d{2}/\d{4}|old-category-name)/(name-of-page)(?:\.html|/)?$ /new-category-name/$1/ [L,NC,R=301]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM