.htaccess RewriteRule 以保留 GET URL 参数

2022-08-30 11:50:59

我在 URL 重写后保持 URL 参数正常工作时遇到问题。.htaccess

我的重写如下:.htaccess

 RewriteEngine on
 RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2

这意味着:

example.com/index.php?lang=en&page=product显示为example.com/en/product

由于某种原因,当我在URL的末尾添加一个时,我无法在PHP中使用检索这些参数,即使它们存在于显示的URL中。?model=AB123&color=something$_GET['model']$_GET['color']

为什么变量没有被传递?


答案 1

您需要追加 [QSA](查询字符串追加)标记。尝试

RewriteEngine on
RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2 [QSA]

查看 http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html


答案 2

推荐