RewriteRule - исключения для папок (с тире) - PullRequest
1 голос
/ 12 августа 2010

У меня установлен drupal в корне моего сайта с каталогом под названием xi-admin, внутри которого есть .htaccess, внутри которого выполняется защита паролем. проблема в том, что он переписывает http://www.example.com/xi-admin/ обратно на index.php ????

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^(xi-admin|xi-admin/.*)$
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Ответы [ 2 ]

0 голосов
/ 13 августа 2010

В вашей конфигурации вы ссылаетесь в одном правиле на foo, в другом - на /bar, одно из них никогда не будет совпадать.

Либо выберите:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(xi-admin|xi-admin/.*)$
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(xi-admin|xi-admin/.*)$
RewriteCond $1 !=favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
0 голосов
/ 13 августа 2010

Попробуйте изменить

RewriteCond %{REQUEST_URI} !^(xi-admin|xi-admin/.*)$

до

RewriteCond %{REQUEST_URI} !^/xi-admin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...