如何创建适用于urlencoded值的Apache mod_rewrite规则?

时间:2015-01-24 07:47:29

标签: php regex mod-rewrite

我正在使用php函数urlencode http://php.net/manual/en/function.urlencode.php来编码GET参数$_GET['test']

我想使用apache重写规则将website.com/%CE%A6等网址重写为website.com/index.php?test=%CE%A6

RewriteRule ^([a-z0-9])/?$ /index.php?test=$1 [NC,L]

什么是正则表达式,可以代替[a-z0-9]来接受urlencode函数返回的有效字符范围?

1 个答案:

答案 0 :(得分:2)

您可以捕获任何内容,直到获得/ RewriteCond来阻止循环:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?test=$1 [QSA,L]