0

私は自分のサイト用に既製のテーマを手に入れました。images/js/css フォルダーを特定のフォルダーに移動する必要があります。

現在、次のようになっています。

|- application
|- assets
    |- img
    |- css
    |- js
|- system

テーマは、img/css/js フォルダーがルート フォルダーにあるようなものです。

.htaccessリクエストを img/css/js フォルダーにルーティングすることを期待して、ファイルに次のようなものを書きました。

RewriteEngine On

RewriteCond $1 !^(images|robots\.txt|assets)

RewriteRule img/(.*) /assets/img/$1 [L]
RewriteRule js/(.*) /assets/js/$1 [L]

RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]

しかし、再帰が起こっていることに気付きました。から

[Fri May 03 11:56:46 2013] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

どうすれば再帰を回避できますか。フォルダー名を変更すると役立つことに気付きましたが、.htaccess.

私は正規表現があまり得意ではありませんが、正規表現には NOT と言う方法があることを覚えています。たとえば、redirect urls comming for 'img' folder but NOT having 'assets' in it should be redirected to 'assets/img' folder.

ところで、これらの.htaccessルールがパフォーマンス面でどれほどコストがかかるか知っていますか。つまり、そうするのは悪い考えですか?

よろしくお願いします。良い一日を。

4

1 に答える 1