0

以下のコードはうまく機能しますが、/calgary/dashboard.php?step=change-password などの URL がある場合、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]
4

2 に答える 2

1

QSAを使用し、

RewriteRule (.*)/$ /city_name/index.php?page=$1 [L,QSA]

RewriteRule ^(.*)/([^\./]+)\.php$ /city_name/$2.php?page=$1 [L,QSA]
于 2012-07-20T23:27:33.207 に答える
1

クエリ文字列フラグ (QSA) をルールに追加すると、次のように修正されます。

RewriteRule ^(.*)/([^\./]+)\.php$ /city_name/$2.php?page=$1 [QSA,L]
于 2012-07-20T23:28:03.253 に答える