验证 htaccess 重写规则中的 utf-8
我使用重写规则 RewriteRule 验证包含 utf-8 字符的网址
RewriteRule ^([az]{2})/([a-z0-9-]{1,256})/([[:print:]]{1,256})$ index.php?language=$1&categories=$2&get_query=$3 [L]
$get_query 是重点,这接受:test!?!'"<>*+ 但对于重音字符如 àèéìòù 或
维基百科中的其他 utf-8 则失败,这非常有效: http://en.wikipedia.org/wiki/%E6%B1%89%E8%AF%AD_%E6%BC%A2 %E8%AA%9E
有什么帮助吗? :-)
i validate urls with utf-8 characters with a rewrite rule
RewriteRule ^([a-z]{2})/([a-z0-9-]{1,256})/([[:print:]]{1,256})$ index.php?language=$1&categories=$2&get_query=$3 [L]
$get_query is the point, this accepts: test!?!'"<>*+
but fails for accented chars as àèéìòù, or other utf-8
for example in wikipedia this works great: http://en.wikipedia.org/wiki/%E6%B1%89%E8%AF%AD_%E6%BC%A2%E8%AA%9E
any help? :-)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
:print:
是[\x20-\x7E]
,因此不包含非 ASCII 字符。如果您想允许任何内容,为什么不只是.*
,或者也许[^/]*
?:print:
is[\x20-\x7E]
so doesn't include non-ASCII characters. If you want to allow anything, why not just.*
, or maybe[^/]*
?