Как исключить URL-адреса из Apache mod_deflate через SetEnvIfNoCase

Я имею дело с сайтом Magento, который имеет стороннюю интеграцию с CMS. Когда я включаю Mod_deflate через файл .htaccess, большая часть сайта работает хорошо. Все страницы, которые извлекают информацию из CMS, показывают «тарабарщину», и кажется, что то, что должно появиться, не распаковывается.

Я пытаюсь просто исключить части сайта, использующие CMS, из сжатия (включая домашнюю страницу), однако я не уверен, смогу ли я исключить URL-адреса из mod_deflate через SetEnvIfNoCase. Да, неа или синтаксическая помощь будут оценены.

Вот мои строки:

SetEnvIfNoCase Request_URI "(/site/*)" no-gzip dont-vary #exclude www.example.com/site/
SetEnvIfNoCase Request_URI "(/)" no-gzip dont-vary #only exclude homepage or index.php

person Lavala78    schedule 11.07.2012    source источник


Ответы (3)


Итак, вот решение. Если вам нужно сжать ваш сайт с помощью gzip, но по какой-то причине некоторые части вашего сайта плохо реагируют на сжатие gzip — например, интеграция сторонней CMS с Magento. Включите mod-Deflate в вашем файле .htaccess и включите эту строку:

SetEnvIf Request_URI ^/yourdir(.*) no-gzip dont-vary

yourdir — это каталог, в котором установлена ​​ваша cms.

person Lavala78    schedule 13.07.2012

Из моего прочтения документов Apache вы хотели бы

SetEnvIf 

нет

SetEnvIfNoCase
person AllInOne    schedule 12.07.2012
comment
Попробовал, но нет. Если это возможно, я думаю, проблема в том, как устроен мой REQUEST_URI. Существует четкая документация о структурировании REQUEST_URI для типа MIME, но не фактического URL. - person Lavala78; 12.07.2012

AllInOne, будет ли правильный синтаксис?:

SetEnvIf Request_URI "(/site/*)" no-gzip dont-vary

SetEnvIf Request_URI "(/)" no-gzip dont-vary

person user1521820    schedule 12.07.2012