Regex 在htaccess中将旧目录重定向到新目录

Regex 在htaccess中将旧目录重定向到新目录,regex,apache,.htaccess,mod-rewrite,redirect,Regex,Apache,.htaccess,Mod Rewrite,Redirect,我有一个网站,为了搜索引擎优化,我正在其中更改子目录名称: 当前网址:website.com/near-new-cars/ford-focus-975 新增:website.com/used-cars/ford-focus-975 我需要将所有请求从“几乎是新车”重定向到新的“二手车”子目录,同时维护URL的其余部分(在这种情况下为“ford-focus-975”) 有人能帮助我使用正则表达式来完成这个任务吗 谢谢 Liam您可以将此规则用作第一条规则: RedirectMatch 301 ^/

我有一个网站,为了搜索引擎优化,我正在其中更改子目录名称:

当前网址:website.com/near-new-cars/ford-focus-975 新增:website.com/used-cars/ford-focus-975

我需要将所有请求从“几乎是新车”重定向到新的“二手车”子目录,同时维护URL的其余部分(在这种情况下为“ford-focus-975”)

有人能帮助我使用正则表达式来完成这个任务吗

谢谢


Liam

您可以将此规则用作第一条规则:

RedirectMatch 301 ^/nearly-new-cars/(.+)$ /used-cars/$1
或者使用
mod_rewrite

RewriteEngine On

RewriteRule ^nearly-new-cars/(.+)$ /used-cars/$1 [L,NC,R=301]

谢谢事实上,我在我们的服务器上发现了另一个使用以下命令的网站:
RedirectMatch 301/old dir(.*)http://www.website.com/new-dir$1?
我的代码和你的代码有什么区别?我以前从未见过(+.+)。再次感谢
/old-dir(.*)
不是一个很好的正则表达式,因为它也可以匹配
/old-dir123
或只匹配
/old-dir
,而我所拥有的是
/old-dir/(.+)
将只匹配
/old-dir/这里的任何内容。和
+
表示匹配1个或多个字符,而
*
表示匹配0个或多个字符。