1

htaccess ファイルでは、書き換え規則は順序に従う必要がありますか? 長いのが先で短いのが最後とか、そういうこと?または、それらをどの順序で配置してもかまいません。以下のようないくつかのルール (約 20) しかありませんが、それはすべて大混乱です。

RewriteRule ^/?(backend)/(users)/(new|blocked)/([a-z0-9]+)/?$ /blah/users/index.php?type=$2&case=$3&offset=$4 [NC,L]
4

1 に答える 1

1

では、書き換え規則の順序は非常に重要です.htaccess。最も具体的なものを一番上に置き、最も一般的な (すべてをキャッチする) 型の規則を最後に置く必要があります。

例で示しましょう。.phpすべての有効なファイルの拡張子を非表示にし.phpたいが、残りのファイルを index.php に転送したい場合、最初に PHP の非表示ルールを次のように記述する必要があります。

# first try loading PHP file if available
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L,NC]

# not available then send it to /index.php?file=<file>
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php?file=%{REQUEST_URI}.php [L,QSA]
于 2013-10-08T09:33:11.620 に答える