.htaccess匹配包含字符的任何内容

时间:2016-02-23 10:46:33

标签: regex .htaccess

我正在尝试使用.htaccess编写规则以跳过虚假目录。我已经达到了这个目标

RewriteRule ^fake/(.+)$ /$1 [N,NC]

所以现在/假/真实只会得到/真实

但我需要定位任何格式为xx-xx的内容,如en-gb或en-us

我尝试了类似

的内容
RewriteRule ^a{5}/(.+)$ /$1 [N,NC]

应该尝试匹配任何长度为5的东西。但是这不起作用,而且只是工作的一半。我怎样才能匹配像xx-xx这样的东西?

2 个答案:

答案 0 :(得分:2)

正如评论中所指出的,使用:

[a-z]{2}-[a-z]{2}

答案 1 :(得分:1)

执行a{5}时,表示匹配字符a 五次

Regular expression visualization

您希望匹配2个字母,然后是-和2个字母:

[a-z]{2}\-[a-z]{2}

[NC]标记也会照顾EN-gbeN-gB等。