0

私のhtaccessファイルは「myappname」フォルダーの下にあります。

このパスをリダイレクトしようとしています。

myappname/CONTROLLER_NAME/ANYFILE.(css|js|gif|jpg|png)

その道へ

myappname/views/default/tpl/CONTROLLER_NAME/ANYFILE.(css|js|gif|jpg|png)

これが私の HTACCESS ルールです

RewriteEngine on
RewriteRule ^(.*)/(.*)\.(css|js|gif|jpg|png)$ views/default/tpl/$1/$2.$3 [L,NC]

しかし、次のようなPHPファイルにリダイレクトしない限り、HTTP 500が返されます

RewriteEngine on
RewriteRule ^(.*)/(.*)\.(css|js|gif|jpg|png)$ views/default/tpl/$1/index.php?a=$2.$3 [L,NC]

私のルールの何が問題になっていますか? 私は htaccess に非常に慣れていないので、何か小さなものを見逃している可能性が非常に高いです。

4

1 に答える 1

0

これは、ターゲットが正規表現と一致するためです。

views/default/tpl/foo/bar.png

次の正規表現に一致します。

^(.*)/(.*)\.(css|js|gif|jpg|png)$

したがって、ルールはループし続けます。条件を追加する必要があります:

RewriteCond %{REQUEST_URI} !^/views/default/tpl

あなたの真上RewriteRule

于 2012-10-11T19:37:08.433 に答える