Исключение из правила .htaccess - PullRequest
1 голос
/ 16 июля 2011

Я использую это правило для отправки любого URL-адреса в индекс, затем анализирую его и показываю правильное содержимое с любым URL-адресом, который мне нужен.

RewriteCond %{REQUEST_URI} !=/index.php
RewriteRule .* /index.php

Мне нужно исключить это правило, если URL-адрес переходит на /admin или /js и /css, но я не знаю, как обусловить это правило, поскольку в нем нет переменной, которую я могу проверить - на самом деле даже не до конца понимаю, как работает это правило, потому что я не вижу, чтобы оно передавало. * в любую переменную ....

Был бы очень признателен за любую помощь.

Ответы [ 2 ]

1 голос
/ 16 июля 2011

Это сделает работу:

RewriteCond %{REQUEST_URI} !^/(index\.php|admin|js|css)
RewriteRule .* /index.php [L]

Если вы хотите, вы можете сделать это как 2 отдельных условия, но в этом нет реальной необходимости (это должно быть быстрее только с 1 условием):

RewriteCond %{REQUEST_URI} !=/index.php
RewriteCond %{REQUEST_URI} !^/(admin|js|css)/
RewriteRule .* /index.php [L]
0 голосов
/ 16 июля 2011

Попробуйте это, добавив дополнительно RewriteCond:

RewriteCond %{REQUEST_URI} !=/index.php
RewriteCond %{REQUEST_URI} !^/(admin|css|js)
RewriteRule .* /index.php

Вы не переносите .*, а скорее прямо переписываете все в index.php. Вы также можете добавить существующую строку запроса с помощью [QSA]

RewriteRule .* /index.php  [L,QSA]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...