php - mod_rewrite 高效的可选参数处理

标签 php apache mod-rewrite seo

我正在构建一个包含大量可选 $_GET[] 参数的站点:我的 url 范围可以是 index.php?mod=regindex.php?mod=complicated¶m1=fooindex.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/

相关文章:

php - 如何在 CodeIgniter 中使用 MySQLi 驱动程序

php - 解析大文本字段

php - 上传的 docx 文件变成 zip

apache - .htaccess 为父级而不是子级重定向?

apache - 附加查询字符串的重写没有触发?

apache - 有没有办法删除apaches反向代理请求 header ?

php - 如何修复PHP中的“ header 已发送”错误

javascript - 返回到 ajaxrequest 的 PHP 对象有 boolean == true 而不是 data

php - UTF-8贯穿始终

php - php 流输出上的删除线字符