我确实在htaccess中使用了一个正则表达式来匹配我网站中类似Twitter的用户名,但它只是将$ _GET ['referer'] var的最后一个字符传递给了php文件。
这是正则表达式: ^(\ w){1,15} $
例如,如果我转到signup / johndoe /,它将向PHP发送“ e”
这是我的htaccess,您可能会看到,我不是Apache服务器专家。祝大家4岁,新年快乐。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^signup/(\w){5,15}/?$ signup.php?referer=$1
答案 0 :(得分:0)
您的问题是括号。代替:
RewriteRule ^signup/(\w){5,15}/?$ signup.php?referer=$1
您要
RewriteRule ^signup/(\w{5,15})/?$ signup.php?referer=$1
以便返回完整的匹配字符集,而不仅仅是最后一个字符。