允许在mod_rewrite中使用百分比(%)符号


Allow percentage (%) symbol in mod_rewrite?

所以我试图通过mod_rewrite规则传递一个PHP urlender()变量,但似乎无法使其正常工作。

目前我正在通过这类事情:

/test/abc%40test.co.uk

@符号替换为&40。

通过这个规则:

RewriteRule ^test/([-_.%A-Za-z0-9]+)/?$ test.php?variable=$1

据我所知,这应该允许%符号通过;为什么它不起作用?我是不是错过了一些显而易见的东西?

URL在通过重写引擎发送之前会被解码,因此您需要与@匹配,而不是与编码的字符串匹配。尝试:

RewriteRule ^test/([-_.@A-Za-z0-9]+)/?$ test.php?variable=$1