.htaccess Переписать все - PullRequest
       1

.htaccess Переписать все

2 голосов
/ 18 января 2011

У меня есть следующие правила в .htaccess. К сожалению, это не работает из-за последнего правила (все остальное работает нормально). Почему?

Options -Indexes    
RewriteEngine On    
RewriteRule ^(cdn) - [L]    
RewriteRule ^admin/(.*)$ backend_0.0.1/index.php/$1 [QSA,L]    
RewriteRule ^css/(.*)$ frontend_0.0.1/css.php/$1 [NC,QSA,E=no-gzip:1,L]    
RewriteRule ^js/(.*)$ frontend_0.0.1/js.php/$1 [NC,QSA,E=no-gzip:1,L]    
RewriteRule ^(.*)$ frontend_0.0.1/index.php/$1 [QSA,L]

Если я заменю последнюю строку на:

RewriteRule ^(.*)$ frontend_0.0.1/index.php?q=$1 [QSA,L]

Затем он неожиданно начинает работать, но предыдущие правила пропускаются, и применяется только это последнее правило. Но мне нужны правила, чтобы прекратить переписывать, как только первый из них выйдет.

1 Ответ

1 голос
/ 18 января 2011

Вам необходимо исключить пункты назначения, на которые вы перенаправляете:

RewriteCond $1 !^(backend_0\.0\.1|frontend_0\.0\.1)/
RewriteRule ^(.*)$ frontend_0.0.1/index.php/$1 [QSA,L]
...