我正在构建一个包含大量可选 $_GET[] 参数的站点:我的 url 范围可以是
index.php?mod=reg
到
index.php?mod=complicated¶m1=foo
或
index.php?mod=EvenMoreComplicated&w=4&x=1&y=2&z=3
。
我明白,在某种程度上,这可以用一大堆带有 [L] 参数的重写规则来处理,但是,没有更简单的方法来处理这个问题而不必手动指定每个可能的 $_GET []参数?
最佳答案
在许多框架中,这个问题是通过一个独特的重写规则来解决的:
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
这意味着您可以在一个参数 $_GET['url']
然后,parse_str()功能:
parse_str($_GET['url'], $queryArgs);
这将为您提供 $queryArgs 中的 $_GET 等价物。
此外,这是演示代码,不要忘记在真实代码中进行清理/过滤。
希望对您有所帮助!
关于php - mod_rewrite 高效的可选参数处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10673236/