У меня периодически возникала проблема с моим сайтом. При посещении страниц браузер просто загружает файл .gz вместо загрузки страницы. Повторная загрузка страницы несколько раз в конечном итоге вернет ее к правильному отображению. В большинстве случаев это происходит при посещении страниц вики (части сайта), но у меня такое случалось и в основной части сайта.
Я использую файловый кеш MediaWiki, но не встроенный сжатие gzip (отображает тарабарщину). Я использую mod_deflate (включен согласно инструкциям хоста) и mod_pagespeed для всего сайта. Сложность этой проблемы в том, что я не могу ее точно воспроизвести. Время от времени оно всплывает без всякой причины.
Мой .htaccess:
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
AddType application/x-font-woff woff
AddDefaultCharset utf-8
# mod_deflate
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
<FilesMatch "\.(html|htm)$">
Header unset Etag
Header set Cache-control "max-age=0, no-cache"
</FilesMatch>
<FilesMatch "\.(jpg|jpeg|gif|png|js|css|woff|ttf|svg)$">
Header unset Etag
Header set Cache-control "public, max-age=604800"
</FilesMatch>
<IfModule pagespeed_module>
ModPagespeed on
ModPagespeedEnableFilters extend_cache
ModPagespeedEnableFilters collapse_whitespace
ModPagespeedEnableFilters combine_css
ModPagespeedEnableFilters move_css_to_head
ModPagespeedEnableFilters remove_comments
</IfModule>
# Wiki ShortURLs
RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [PT,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
Настройки кеша вики следующие:
$wgMainCacheType = CACHE_ANYTHING;
$wgMemCachedServers = array();
$wgUseFileCache = true;
$wgFileCacheDirectory = "$IP/cache";
$wgShowIPinHeader = false;
$wgUseGzip = false;
На сервере используется версия PHP 5.3.14, и все файлы в не-вики-части сайта являются файлами .php. На страницах отображается кодировка содержимого gzip. Сайт размещен на GoDaddy, и эта проблема пока появилась только в Chrome (версия 22.0.1229.79 m), хотя я еще не тестировал Firefox и IE на эту проблему.
На данный момент сайт почти не загружен (тестирует всего несколько человек). Единственные установленные мной вики-расширения: ConfirmEdit, Gadgets, ListRedLinks, Nuke, ParserFunctions, Renameuser, Vector и WikiEditor. Все остальное сток.
Итак, мой вопрос: что вызывает эту проблему, почему она появляется только случайным образом и как ее исправить?
Проблема заключается в браузере, а не в установке.
Похоже, в браузере Google Chrome есть какая-то проблема с кешированием. Я обнаружил, что когда я очистил кеш браузера, проблема исчезла.