.htaccess 重写仍然可以使用 get 变量的漂亮 url

Posted

技术标签:

【中文标题】.htaccess 重写仍然可以使用 get 变量的漂亮 url【英文标题】:.htaccess rewrite pretty urls that can still use get variables 【发布时间】:2013-02-16 09:11:07 【问题描述】:

我正在尝试编写一个 .htaccess 行,该行将重写为 php 脚本,但仍允许在最后添加任何额外的 get 变量。这可能吗?

目前我正在尝试使用这个:

RewriteRule ^item/([^/]*)([^/]*)$ /item.php?id=$1&$2 [L]

目标是能够做到blah.com/item/fooblah.com/item/foo?bar=whatever 之类的事情。

目前它似乎正确地通过了第一部分id,但没有通过其余部分。

【问题讨论】:

How can I forward a query string using htaccess?的可能重复 【参考方案1】:
RewriteRule ^item/([^/]*)([^/]*)$ /item.php?id=$1&$2 [L,QSA]

您可以在此处阅读有关QSA(查询字符串附加)的更多信息: https://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

【讨论】:

【参考方案2】:

你需要以[L,QSA]结束

【讨论】:

以上是关于.htaccess 重写仍然可以使用 get 变量的漂亮 url的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 重写 url 帮助使用 GET 变量指向 URL 中的值 [关闭]

.htaccess 重写 GET 变量

使用 PHP + .htaccess 访问 GET 变量

如何在php中重写Get变量的url [重复]

htaccess 重写 URL 以仅删除一个 php 文件的 $_GET 查询[重复]

url重写.htaccess的问题