我有一个重写规则,将domain.co.uk/member.php?x=$member重写为domain.co.uk/$member
看起来像这样:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ member.php?x=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ member.php?x=$1
我试图将'和@添加到方括号中,但后来我得到500内部服务器错误。我需要这些字符用于人们的用户名
我该怎么做?
答案 0 :(得分:1)
@
用于在URI字符串中指定用户和密码,如下所示:
http://user:passw...@host/path
。
您需要对其进行urlencode:%40
您的路径将是:/user%40foo.com
或类似的内容
这应该有效
答案 1 :(得分:1)
来自RFC 1738:
字符“;”,“/”,“?”,“:”, “@”,“=”和“&”是人物 这可能是特殊的保留 在计划中的含义。没有其他 字符可以在a中保留 方案
和
因此,只有字母数字,特殊 字符“$ -_。+!*'(),”和 用于他们的保留字符 保留目的可以使用
在URL中未编码。
您应该做什么:
%40
。 \'