在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结束时,我无法使用PHP中检索这些参数$_GET['model']$_GET['color']即使它们存在于显示的URL中。

为什么变量不通过?

答案

您需要附加[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

来自: stackoverflow.com