Похоже, что следующее применяет RewriteRule, только если URL не начинается с site.com/index.php
, site.com/media
или site.com/jscript
.
RewriteEngine On
RewriteCond $1 !^(index\.php|media|jscript)
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Я буду честен, я не видел $1
, использовавшегося в RewriteCond
до сих пор, но кажется интересным.
Так что, если ваш URL site.com/admin...
? Ну, вам нужен новый RewriteRule. Также вам нужно предотвратить перенаправление URL-адресов, начинающихся с admin
, первым RewriteRule.
RewriteEngine On
RewriteCond $1 !^(index\.php|media|jscript|admin|system)
RewriteRule ^/?(.*)$ index.php/$1 [L,R]
RewriteRule ^/?(admin.*)$ system/$1 [L,R]
Обновление 1 : добавлено system
в список URL, которые не должны применяться к первому RewriteRule
.
Обновление 2 : удаление [L,QSA]
из первого RewriteRule
и замена на [L,R]
.