差分

66行目: 66行目:  
*主にMacのFirefox、ChromeとAndroid 6のChromeで確認していますが、再現できていません。恐れ入りますが、閲覧環境を記載していただけないでしょうか?--[[利用者:Ochaochaocha3|ocha]] ([[利用者・トーク:Ochaochaocha3|トーク]]) 2016年2月11日 (木) 17:14 (JST)
 
*主にMacのFirefox、ChromeとAndroid 6のChromeで確認していますが、再現できていません。恐れ入りますが、閲覧環境を記載していただけないでしょうか?--[[利用者:Ochaochaocha3|ocha]] ([[利用者・トーク:Ochaochaocha3|トーク]]) 2016年2月11日 (木) 17:14 (JST)
 
**Windows Internet Explorerで閲覧しています。--[[利用者:忠犬キャット|忠犬キャット]] ([[利用者・トーク:忠犬キャット|トーク]]) 2016年2月11日 (木) 17:28 (JST)
 
**Windows Internet Explorerで閲覧しています。--[[利用者:忠犬キャット|忠犬キャット]] ([[利用者・トーク:忠犬キャット|トーク]]) 2016年2月11日 (木) 17:28 (JST)
 +
 +
== ページが正しく読み込まれない問題について ==
 +
 +
Internet ExplorerやSafari(iPhone版を含む)を使った場合にCSSが正しく読み込まれなかったり、文字化けが生じたりする問題が発生していました。Wikiプログラムを動作させているPHP実行環境の設定を変更し、手元の環境で問題が解消されたことを確認しました。対応が遅くなり、申し訳ございませんでした。依然として解消されていない場合はお伝えください。よろしくお願いいたします。--[[利用者:Ochaochaocha3|ocha]] ([[利用者・トーク:Ochaochaocha3|トーク]]) 2016年2月11日 (木) 21:08 (JST)
 +
 +
== 原因と対策 ==
 +
以下は技術的な説明です。
 +
 +
MediaWikiプログラムを動作させているHHVMの標準設定とWebサーバーのNginxの設定により、CSSファイルが二重にgzip圧縮されて送信されていたことが原因でした。この状態では、CSSファイルのHTTPレスポンスの Content-Encoding ヘッダが <code>gzip, gzip</code> という値になります。ブラウザのうちChromeとFirefoxはこの値に対応しており、CSSファイルを正しく展開するため問題なく表示されていました。一方、未対応のIEおよびSafariはCSSファイルを正しく展開できず文字化けしたような状態で読み込んでいたため、CSSが正しく設定されなかったり文字化けが生じたりしたものと考えられます。
 +
 +
今回はHHVM側でgzip圧縮が無効になるよう設定することにより、1回だけgzip圧縮されるようにしました。
 +
 +
== 参考文献 ==
 +
* [http://stackoverflow.com/questions/27918475/how-to-disable-nginx-double-gzip-encoding-when-fastcgi-backend-occasionally-serv php - How to disable Nginx double gzip encoding when fastcgi backend occasionally serves gzipped with content-encoding? - Stack Overflow]
 +
* [https://github.com/facebook/hhvm/issues/5316 HHVM always compresses output if Accept-Encoding: gzip is set, even if zlib.output_compression=Off is set · Issue #5316 · facebook/hhvm]
 +
* [https://phabricator.wikimedia.org/rMWVAf11efbddee81e27f5eeba04589f84939cab71d8b hhvm: set GzipCompressionLevel = 0 to avoid double-gzip]