允许mod_rewrite中的百分比(%)符号?

时间:2014-09-30 21:35:27

标签: php regex apache .htaccess mod-rewrite

所以我试图通过mod_rewrite规则传递PHP urlencode()变量,但我似乎无法让它正常工作。

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

/test/abc%40test.co.uk

@符号替换为urlencode中的& 40。

通过这条规则:

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

据我所知,这应该允许%符号通过;为什么不工作?我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:3)

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

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