下面的代码非常出色,但是如果我有一个网址,例如/calgary/dashboard.php?step=change-password,PHP就不会识别$ _GET [' step']
我可以在这里更改什么,以便我可以使用$ _GET ['']
RewriteEngine On
RewriteBase /city_name
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/$ /city_name/index.php?page=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /([^\./]+)\.php$
RewriteCond %{DOCUMENT_ROOT}/city_name/%1.php -f
RewriteRule ^(.*)/([^\./]+)\.php$ /city_name/$2.php?page=$1 [L]
答案 0 :(得分:1)
使用QSA,
RewriteRule (.*)/$ /city_name/index.php?page=$1 [L,QSA]
RewriteRule ^(.*)/([^\./]+)\.php$ /city_name/$2.php?page=$1 [L,QSA]
答案 1 :(得分:1)
将查询字符串标志(QSA)添加到规则中应该修复它,例如:
RewriteRule ^(.*)/([^\./]+)\.php$ /city_name/$2.php?page=$1 [QSA,L]