2

特定のファイル拡張子のセット(画像、css、jsなど)を除いて、すべてのリクエストをルートindex.phpファイルにルーティングするように構成された.htaccessファイルがあります。ただし、そのロジックを少し調整する必要があります。除外されたファイル拡張子の 1 つに対する要求を、特定のディレクトリ (そのディレクトリのサブフォルダーにある可能性があります) に含まれている場合は index.php にルーティングする必要があります。現在私は持っています:

RewriteEngine on
RewriteCond $1 !\.(gif|jpg|png|ico|css|js|swf|wav|mp3|less|cur)
RewriteRule ^(.*)$ index.php/$1 [L]

RewriteCond.css ファイルのリクエストが .css のルート ディレクトリ内のどこかにある場合、そのリクエストが index.php に書き換えられるようにするには何が必要ですか/docs。たとえば、リクエスト/docs/subfolder/anotherfolder/myfile.cssを index.php にルーティングしたいのですが、/assets/css/global.css引き続きリクエストを index.php にルーティングしないでください。

4

2 に答える 2

4

フラグを使用し[OR]て追加の css 条件を追加できます (最初の条件に失敗した場合でも)。

RewriteEngine on
RewriteCond $1 !\.(gif|jpg|png|ico|css|js|swf|wav|mp3|less|cur) [OR]
RewriteCond %{REQUEST_URI} ^/docs/.*\.css$
RewriteRule ^(.*)$ index.php/$1 [L]

ここで、[OR]フラグは論理的に「or」の 2 つの条件です。そのため、要求されたファイルが ''css'' で終わっていても、2 番目の条件がチェックされます。/docs/私が示した正規表現の例では、 で始まり、 で終わる必要があると単純に述べてい.cssます。それが満たされている場合、最初の条件は必要なく、リクエストは にルーティングされindex.phpます。

于 2013-04-13T12:33:10.073 に答える