一尘不染

.htaccess RewriteRule保留GET URL参数

php

htaccess url重写后,保持URL的参数正常工作时出现问题。

我的htaccess重写如下:

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

意思是:

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

出于某种原因,当我?model=AB123&color=something在URL的末尾添加a
$_GET['model']$_GET['color']即使显示的URL中存在这些参数,也无法使用php检索这些参数。

为什么不传递变量?


阅读 188

收藏
2020-05-26

共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

2020-05-26