0

get リクエストにアクセスできません...

私の .htaccess:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /alex
RewriteRule ^admin/([a-zA-Z0-9]+)/?$ admin/index.php?page=$1
RewriteRule ^admin/([a-zA-Z0-9]+)?$ admin/index.php?page=$1
RewriteCond %{REQUEST_URI}  !(admin|assets|inventory|test)
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1
RewriteCond %{REQUEST_URI}  !(admin|assets|inventory|test)
RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1
ErrorDocument 404 /alex/index.php?page=404
ErrorDocument 403 /alex/index.php?page=404

私がヒットしているURL:

http://example.com/alex/admin/users?pagenum=37

サンプル PHP コード:

echo $_GET["pagenum"];

ただし、PHPで変数をエコーアウトすることはまったくありません。私の .htaccess が原因ですか? そうでない場合... 何ですか?

4

1 に答える 1

4

QSA書き換えでフラグを使用する必要があります。

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /alex
RewriteRule ^admin/([a-zA-Z0-9]+)/?$ admin/index.php?page=$1 [L,QSA]
RewriteRule ^admin/([a-zA-Z0-9]+)?$ admin/index.php?page=$1 [L,QSA]
RewriteCond %{REQUEST_URI}  !(admin|assets|inventory|test)
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1 [L,QSA]
RewriteCond %{REQUEST_URI}  !(admin|assets|inventory|test)
RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1 [L,QSA]

このフラグは、既存のクエリ文字列を、ルールのターゲットで構築したものの末尾に追加します。?通常、ルールのターゲットにa がない場合、デフォルトでクエリ文字列が追加されます。ただし?、ターゲットに がある場合は、 が必要QSAです。

于 2013-04-08T09:52:40.550 に答える