.htaccess 仅为URL的同一部分重写规则

.htaccess 仅为URL的同一部分重写规则,.htaccess,redirect,rewrite,rule,.htaccess,Redirect,Rewrite,Rule,我需要从URL重定向: RewriteRule^/cars/new/(.*)/(.*)/(.*)/(.*).html$/cars/new/$1/$2/[R=301,L]-它可以工作 但是,像/cars/new/asd/qwe/zxc.html这样的页面也使用此规则重定向 我只需要重定向URL,比如/cars/new/asd/qwe/qwe.html 而不是/cars/new/asd/某些部分/某些其他部分.html 仅/cars/new/asd/部分零件/部分零件.html 有什么建议吗 更新:

我需要从URL重定向:

RewriteRule^/cars/new/(.*)/(.*)/(.*)/(.*).html$/cars/new/$1/$2/[R=301,L]
-它可以工作

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

我只需要重定向URL,比如/cars/new/asd/qwe/qwe.html

而不是/cars/new/asd/某些部分/某些其他部分.html

仅/cars/new/asd/部分零件/部分零件.html

有什么建议吗

更新: 有效的解决方案是

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

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

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

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

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

你想匹配一个模式,还是只是固定的目录/文件名?哦,我明白了。最后一个目录中的文件名将始终与目录名匹配(但附加了.html),并且您希望将它们重定向到同一目录,但不包含任何文件名(/cars/new/part1/part2/part2.html->/cars/new/part1/part2/)是否有要匹配的模式,或者只是固定的目录/文件名?哦,我明白了。最后一个目录中的文件名将始终与目录名匹配(但附加了.html),并且您希望将它们重定向到同一目录,但不包含任何文件名(/cars/new/part1/part2/part2.html->/cars/new/part1/part2/)