1

すべての非ファイル、非ディレクトリをindex.phpにリダイレクトしたいので、存在するすべてのものに直接アクセスできます-1つのディレクトリを除いて(これもindex.phpに移動する必要があります)

私が持っているものは次のとおりです。

# Files
RewriteCond %{REQUEST_FILENAME} !-f

# Directories except /orderfiles/*
RewriteCond %{REQUEST_FILENAME} ^/(orderfiles/)* [OR]
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule .* index.php [L,QSA]

これは/orderfiles 内のディレクトリに対して機能しますが、/orderfiles 内のファイルは引き続きそのファイルに移動します。追加してみました

RewriteCond %{REQUEST_FILENAME} ^/(orderfiles/)* [OR]
RewriteCond %{REQUEST_FILENAME} !-f

しかし、これは壊れて、すべてのファイルを index.php に送信します。

4

1 に答える 1

4

あなたは近いです、あなたはこのようなものが欲しいです:

# Files
RewriteCond %{REQUEST_FILENAME} !-f

# Directories
RewriteCond %{REQUEST_FILENAME} !-d

# except /orderfiles
RewriteRule !^/?orderfiles index.php [L,QSA]

「しかし、1つのディレクトリをindex.phpに送信する」という意味でした(より正確になるように質問を編集しました)。/orderfiles を index.php にルーティングしたい

次に、あなたが持っているものは正しいですが、この行を変更する必要があります:

RewriteCond %{REQUEST_FILENAME} ^/(orderfiles/)* [OR]

に:

RewriteCond %{REQUEST_URI} ^/orderfiles/ [OR]
于 2012-09-19T21:09:17.313 に答える