HTACCESS - 正则表达式/包含大写字母?

时间:2011-01-30 14:17:20

标签: regex .htaccess

我正在尝试重定向包含至少一个大写字符的所有地址。

即:

不要重写 - 城市/纳什维尔,但重写 - 城市/纳什维尔。

2 个答案:

答案 0 :(得分:2)

您可以使用NC flag忽略模式匹配的情况:

RewriteRule ^jewelry-stores/nashville$ /jewelry/cities/nashville [L,R=301,NE]

否则,如果您要测试至少一个大写字母,请使用[A-Z]

RewriteRule ^jewelry-stores/([^A-Z]*[A-Z].*) /jewelry/cities/${tolower:$1} [L,R=301]

此外,internal mapping function tolower用于将匹配的字符串转换为小写。 (请注意,RewriteMap需要访问服务器或虚拟主机配置。)

答案 1 :(得分:2)

类似

RewriteRule ^citites/.*[A-Z].*$  /whatever [L,R=301]

应按预期工作