【发布时间】:2013-08-13 09:33:13
【问题描述】:
我有这个 htaccess:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^((.|\r|\n)+)/? index.php?params=$1 [L,NC]
它允许我向 index.php 发送无限的参数,并在 params 数组中接收它们。 允许换行符('\r' / '\n')。
我遇到的问题是,当我发送 server/param1/param2/param3 时,$_GET['params'] 将如下所示:
Array ( [0] => param1 [1] => param2 [2] => param3 )
但是我发送 server/param1//param3,$_GET['params'] 错过了一个键:
Array ( [0] => param1 [1] => param3 )
我希望服务器回答一个空值,而不是一个已删除的键:
Array ( [0] => param1 [1] => [2] => param3 )
【问题讨论】:
-
$_GET['params']只是作为一个字符串。你是在调用explode让它变成一个数组吗? -
没错,$_GET['params'] 像 param1/param2 一样出现,所以是的,我做了一个爆炸 ;)
标签: php apache .htaccess mod-rewrite