Htaccess Regex不接受下划线

时间:2013-08-01 11:52:07

标签: regex .htaccess

我正在尝试编写一个接受带有下划线的用户名的正则表达式。

我可以在没有下划线的情况下使用它,但是当我添加下划线时会出现网站错误500

这是我正在使用的正则表达式:

RewriteRule ^Activation/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ activationcodes.php?u=$1&a=$2 [L]

当我添加_时,它会在页面上显示错误500

RewriteRule ^Activation/([A-Za-z0-9-_]+)/([A-Za-z0-9-]+)/?$ activationcodes.php?u=$1&a=$2 [L]

1 个答案:

答案 0 :(得分:2)

在破折号之前添加下划线

RewriteRule ^Activation/([A-Za-z0-9_-]+)/([A-Za-z0-9-]+)/?$ activationcodes.php?u=$1&a=$2 [L]

否则它认为你的意思是“0到9到_”,这是错误的。

你也可以逃避它(这也会使它更具可读性):

RewriteRule ^Activation/([A-Za-z0-9\-_]+)/([A-Za-z0-9\-]+)/?$ activationcodes.php?u=$1&a=$2 [L]