0

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

我可以让它在没有下划线的情况下工作,但是当我添加下划线时,它会给出一个站点错误 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]
4

1 回答 1

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]
于 2013-08-01T11:55:39.493 回答