我正在尝试编写一个接受带有下划线的用户名的正则表达式。
我可以在没有下划线的情况下使用它,但是当我添加下划线时会出现网站错误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]
答案 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]