我正在为我的网络应用程序使用此.htaccess代码,它工作正常,但我无法访问$_GET
变量。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)/(.*)/$ index.php?$1&p=$2&id=$3 [L]
RewriteRule ^(.*)/(.*)/$ index.php?$1&p=$2 [L]
RewriteRule ^(.*)/$ index.php?$1
我现在使用的网址是http://www.website.com/mainpage/subpage/id/
但是,如果我这样做http://www.website.com/mainpage/subpage/id/?template=new
,我无法访问$_GET['template']
变量,我很确定htaccess
导致此问题但我不知道如何继续前进。
答案 0 :(得分:3)
您需要添加QSA
标志,以便将查询字符串附加到重写目标的末尾:
RewriteRule ^(.*)/(.*)/(.*)/$ index.php?$1&p=$2&id=$3 [L,QSA]
RewriteRule ^(.*)/(.*)/$ index.php?$1&p=$2 [L,QSA]
RewriteRule ^(.*)/$ index.php?$1 [L,QSA]