仅针对URL的相同部分重写规则

时间:2013-02-22 08:05:51

标签: .htaccess redirect rewrite rule

我需要从网址进行重定向:

RewriteRule    ^/cars/new/(.*)/(.*)/(.*).html$        /cars/new/$1/$2/ [R=301,L] - 它有效。

但是,像/cars/new/asd/qwe/zxc.html这样的网页也会使用此规则重定向。

我需要重定向网址,例如/ cars / new / asd / qwe / qwe .html

而不是/ cars / new / asd / some_part / some_other_part .html

仅限/ cars / new / asd / some_part / some_part .html

请提出任何建议!

更新: 工作解决方案是

RewriteRule ^cars/new/(.*)/(.*)/\2.html$    /cars/new/$1/$2/ [R=301,L]

1 个答案:

答案 0 :(得分:1)

请试试这个正则表达式。它使用后引用来匹配与目录名称相同的文件名。

RewriteRule ^/cars/new/(.*)/(.*)/\2\.html$ /cars/new/$1/$2/ [R=301,L]