Как я могу сделать так, чтобы мой файл .htaccess позволял Safari и другим браузерам открывать GZIP? - PullRequest
0 голосов
/ 07 августа 2009

Я использую файл .htaccess, чтобы мои страницы могли вызывать сжатые файлы JavaScript.

Отлично работает в ie8 & ff3, но скрипт не загружается в Safari (или Chrome).

Вот файл .htaccess, который я использую:

<files *.js.gz>
ForceType text/javascript
Header set Content-Encoding: gzip
</files>

Затем, например, я могу вызывать файлы JS со своих HTML-страниц:

<script src="foo.js.gz"></script>

Как я могу изменить приведенный выше код .htaccess, чтобы он работал для Safari (и все еще работал для других браузеров)?

1 Ответ

4 голосов
/ 07 августа 2009

Я предполагаю, что вы пытаетесь использовать сжатие Gzip для более быстрой загрузки ресурсов и текстового контента. Это отличная техника для ускорения вашего сайта.

Safari, Chrome и IE6 имеют проблемы с загрузкой в ​​формате Gzip. Кроме того, Apache сделает сжатие GZIP для вас, нет необходимости вручную GZIP файлы. Попробуйте этот фрагмент:

# This uses mod_deflate, which is pretty standard on Apache 2.  Loading
# mod_deflate looks like this:
#
#   LoadModule deflate_module modules/mod_deflate.so
#
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \\bMSIE !no-gzip !gzip-only-text/html

Это должно безопасно сжать весь текст перед отправкой из Apache и только для браузеров, которые его поддерживают. Вы можете обычно ссылаться на JavaScript и другие ресурсы, просто myscript.js, без расширения gz или сжатия на диске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...