2013-06-04 3 views
0

У меня есть файл .htaccess, написанный как таковой для моей основной программы в верхнем каталоге, но также хочу исключить подпапку, в которой я хочу запустить другую программу.htaccess RewriteCond для подкаталога не работает

<IfModule mod_rewrite.c> 
Options +FollowSymLinks 
RewriteEngine On 
RewriteCond {REQUEST_URI} !=/ecart 
RewriteRule ^files/ - [L] 
RewriteRule ^(.*)/$ index.php?layers=$1 [L] 
</IfModule> 

Я пытаюсь RewriteCond, но он не работает. Он должен перейти к файлу ecart/index.php, но все же я попал в передний домен, когда я ввел свой адрес в www.mydomain.com/ecart

ответ

1

В вашем коде есть синтаксическая ошибка с логическими ошибками. {REQUEST_URI} отсутствует % знак и RewriteCond применим только к следующему RewriteRule. Замените код следующим образом:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} !^/ecart(/.*|)$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*?)/?$ /index.php?layers=$1 [L,QSA] 
+0

С этим я просто получаю внутреннюю ошибку сервера 500 на всех моих страницах. Не может быть, потому что на сайте есть https, а в каталоге нет? – mark

+0

О, была опечатка. Можете попробовать сейчас. – anubhava

+0

Большое вам спасибо. Это сработало. – mark

Смежные вопросы