Regex不适用于重定向匹配

Regex不适用于重定向匹配,regex,.htaccess,Regex,.htaccess,我在我的站点上有以下URL,在进行一些站点测试时无意中被编入了索引。我正在尝试将URL重定向到我网站上的正确页面。无论出于什么原因,我都无法使重定向按预期的方式实际工作 这是我网站上的URL索引 domain.com/wa/-country/communityname 有时,社区实际上是一个城市,需要重新定向。URL实际上应该重定向到: domain.com/wa/cityname 对于社区实际上是城市的情况 现在,我相信这一部分对我的作品造成了冲击 /-country/需要明确匹配该文本。我在

我在我的站点上有以下URL,在进行一些站点测试时无意中被编入了索引。我正在尝试将URL重定向到我网站上的正确页面。无论出于什么原因,我都无法使重定向按预期的方式实际工作

这是我网站上的URL索引

domain.com/wa/-country/communityname

有时,社区实际上是一个城市,需要重新定向。URL实际上应该重定向到:

domain.com/wa/cityname

对于社区实际上是城市的情况

现在,我相信这一部分对我的作品造成了冲击

/-country/
需要明确匹配该文本。我在网站上确实有一些URL实例,其结构如下:

domain.com/wa/king county/selah

URL是动态生成的。在本例中,站点的Itemid是导致生成县名
king
的原因。索引的URL刚被索引,没有URL的县名称部分

这是我到目前为止尝试过的正则表达式和重定向匹配

RedirectMatch 301 (\/-county\/)(.+$) /wa/$2
现在我的理解是

(.*$) = $2
有人能为我解释一下这个问题吗


以下是指向的链接。您可以将此规则用作第一个规则站点根。htaccess:

RedirectMatch 301 ^/([\w-]+)/-county/(.+)$ /$1/$2

测试此更改时,请确保清除浏览器缓存。

我在“重写引擎”打开后立即添加了这一行,但它没有执行任何操作。在3个不同的浏览器中测试。他想确保
http://example.com/wa/king-county/selah
已转到
http://example.com/wa/selah
他想确保
http://example.com/wa/king-castle-county/selah
已转到
http://example.com/wa/selah
我想大概是这样。regex101不是重写规则的测试网站。2.请只测试我提供的规则。3. <代码>*当然会匹配任何内容。我的htaccess文件由于某种原因停止了全部重定向。我已经将您的正则表达式规则添加到一个新的htaccess文件中,它似乎工作得令人满意。谢谢你的帮助@anubhava.试试这个
(\/[^\/]*?-county\/)(.+$)
您是对的,
$2
是匹配中的第二组,即
(.+$)
。第一组$1是所有匹配的
(\/[^\/]*?-country\/)
@bulbus我试图实现你在regex101上发布的代码。RedirectMatch从不捕获url并重定向。不过,正则表达式本身看起来不错。明白了!您需要捕获更多组,请参阅我的其他评论。