私は自分のサイト用に既製のテーマを手に入れました。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
ルールがパフォーマンス面でどれほどコストがかかるか知っていますか。つまり、そうするのは悪い考えですか?
よろしくお願いします。良い一日を。