Напротив директивы LoadModule Apache (.htaccess) - PullRequest
1 голос
/ 01 сентября 2011

Полагаю, вы все знаете директиву LoadModule mod_so. Я хочу сделать напротив , выгрузить модуль для конкретного каталога через файл .htaccess. UnloadModule существует?

Я хочу достичь максимальной совместимости сценариев, * отключив все модули, кроме mod_rewrite *, потому что нежелательные модули каким-то образом связываются с моим сценарием. Есть ли простой способ?

Дополнительный вопрос: Как отключить только mod_deflate? Это самый большой задира. Я хочу обработать сжатие внутренне в моих сценариях.

Ответы [ 2 ]

2 голосов
/ 02 сентября 2011

1. Я думаю, что невозможно выгрузить уже загруженный модуль.Это все, что я могу сказать о # 1.

2. Давайте поместим этот код в .htaccess:

<IfModule deflate_module>
    # Insert filter
    SetOutputFilter DEFLATE
    # Don't compress images
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

    <IfModule headers_module>
        # Make sure proxies don't deliver the wrong content
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
</IfModule>

Это будет сжимать файлы .html (до тех пор, покаконечно, он достаточно большой.

Теперь давайте добавим html в список исключенных расширений:

    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|html)$ no-gzip dont-vary

Теперь перезагрузите тот же HTML-файл в браузере (убедитесь, чтобраузер фактически загружает его заново (должно быть 200 ответов), а не из кеша или через 304 Not Modified response).Теперь он отправляет HTML-файл без сжатия вообще.Firebug подтверждает: только 480 байтов при сжатии и 11,6 КБ несжатых данных (HTML-файл - это, по сути, один абзац текста, повторяемый примерно 20 раз, следовательно, это очень хорошее сжатие).

Я уверен, что вы можетеочень легко изменить его в соответствии с вашими потребностями (на моем сервере сжатие не включено глобально - это код, который я использую, когда мне это нужно - поэтому, к сожалению, я не могу предоставить вам 100% точный код).Например:

SetEnvIfNoCase Request_URI .+$ no-gzip dont-vary
0 голосов
/ 02 сентября 2011

Вы можете предотвратить загрузку модуля, просто не имея директивы LoadModule для данного модуля в вашей конфигурации вообще.

...