.htaccess 用字符数重写规则问题

.htaccess 用字符数重写规则问题,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我的.htaccess文件中有此规则: RewriteRule ^[A-Z]{3}[0-9]$ http://www.mysite.com/redirect.php?ql=$0 [L] 此规则适用于以下地址: mysite.com/CSN4 但不适用于具有多个数字的: mysite.com/CSN42 mysite.com/CSN490 我总是有3个字母,后跟1到3个数字。我如何才能使规则适用于其中任何一项?在您的号码集中添加一个限制(基于您的备注)将解决以下问题: RewriteR

我的.htaccess文件中有此规则:

RewriteRule ^[A-Z]{3}[0-9]$  http://www.mysite.com/redirect.php?ql=$0 [L]
此规则适用于以下地址:

  • mysite.com/CSN4
但不适用于具有多个数字的:

  • mysite.com/CSN42
  • mysite.com/CSN490
我总是有3个字母,后跟1到3个数字。我如何才能使规则适用于其中任何一项?

在您的号码集中添加一个限制(基于您的备注)将解决以下问题:


RewriteRule^[A-Za-z]{3}[0-9]{1,3}$http://www.mysite.com/redirect.php?ql=$0[L]

Grrr。。。我把-放在1和3之间。如何考虑frm或frm或frm?谢谢。我修改了答案来反映这一点——你所需要做的就是在set.Stange中查找a-zA-Z。它对FrM2和FrM2不起作用,但对FrM2或FrM2起作用。它应该起作用。这是一个概念证明(也是测试的好工具):