2010-10-18 5 views
0

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

 

    RewriteEngine On 
    RewriteCond $1 !^(folder1|folder2|folder3|robots\.txt) 
    RewriteRule ^(.*)$ index.php [QSA,L] 

Это работает сейчас, но есть возможность добавлять запросы только для определенной области или папки, чтобы получить прошли через index.php для Eg: www.mysite.com или WWW .mysite.com/folder4 или mysite.com.

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

Спасибо.

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

ответ

0

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

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
0

Вы можете использовать переменную SERVER_NAME:

RewriteCond %{SERVER_NAME} ! ^(www\.)?mysite\.com$ 
+0

Хорошо, я хочу, если запрос http://www.mysite.com, то запрос должен проходить через index.php-контроллер. Если запрос - http://www.mysite.com/folder1, то он не должен проходить через какой-либо контроллер. Имя сервера будет таким же, я просто хочу использовать контроллер только для некоторых папок и основного сайта не для всех. – Harsha

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