正则表达式不适用于RedirectMatch

时间:2017-09-25 17:30:35

标签: regex .htaccess

我的网站上有以下网址,在进行网站测试时无意中被编入索引。我正在尝试将网址重定向到我网站上的正确页面。无论出于何种原因,我都无法将重定向实际按预期工作。

以下是我网站上索引的网址

domain.com/wa/-county/communityname

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

domain.com/wa/cityname

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

现在,我相信这部分是我的作品。

/-county/需要明确匹配该文字。我在网站上有一些URL实例,结构是:

domain.com/wa/king-county/selah

网址是动态生成的。站点的Itemid是导致在这种情况下生成县名king的原因。索引的URL刚刚被索引,没有URL的县名部分。

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

RedirectMatch 301 (\/-county\/)(.+$) /wa/$2

现在我理解这个的方式是

(.*$) = $2

任何人都可以为我解释这个问题吗?

以下是Regex101 Test

的链接

1 个答案:

答案 0 :(得分:2)

您可以将此规则用作第一个规则网站root .htaccess:

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

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