.htaccessを利用したgzip圧縮でワードプレスにサーバーエラーが出たら、何より先にサーバーの仕様を確認しましょう。Pluginを外しただけではエラーは解消できません。
設定が.htaccsessに反映されるプラグインがサーバーエラーの原因
PageSpeed Insights やGTmetrixでのスコアをもっとあげたくてCSSやJSを圧縮したり移動したりできるプラグインを数種類試していたのですが、gzip圧縮のボタンにチェックを入れるとサーバーエラーとなり、.htaccessの記述を削除して保存し直すということを数十回は繰り返していました。なんでなんだ?プラグインでやるからダメなのか?と直に記述してみたり。
どうも変だよね?とやっとググるという動作をしてみて肩を落としました。
ディレクティブの制限について
ブラウザ等のクライアントソフトやサーバーにおいて一部の挙動を変更する下記設定(ディレクティブ)の利用を制限しています。
https://www.webcrow.jp/support/man/homepage_htaccess.php
ディレクティブの制限について
ブラウザ等のクライアントソフトやサーバーにおいて一部の挙動を変更する下記設定(ディレクティブ)の利用を制限しています。
https://www.webcrow.jp/support/man/homepage_htaccess.php
- SetHandler
- AddHandler
- AddType
- DefaultType
- ForceType
- AddInputFilter
- AddOutputFilter
- AddOutputFilterByType
- SetOutputFilter
- SetInputFilter
AddOutputFilterByTypeってみたことあるな!「wordpress .htaccess gzip」あたりでググると.htaccessの記述について解説している記事をみることができます。
Apache モジュール mod_deflate サーバからの出力を、ネットワークを 通してクライアントに送る前に圧縮することを可能にします。
http://www.apache.org/
AddOutputFilterByType DEFLATE text/plain このDEFLATEってそういうことか!
プラグインで設定すると.htaccessに記述される仕組みなのだ
AddOutputFilterByType でApache モジュール mod_deflateで圧縮するコンテンツのMIMEタイプを指定する。(MIMEタイプは、「タイプ名/サブタイプ名」で表記される拡張子みたいな概念)text/plainを圧縮するってことだ。
何も考えないでプラグインを入れまくってトラブルになる理由が少しわかった気がします。実験するサーバー環境は絶対に必要ですね。これがメインのサイトだったり、誰かに頼まれての作業だったら大変なことになッちゃう。
自分の利用しているサーバー環境を把握していなかったのも時間をロスした大きな原因。こういう仕事じゃなくて本当によかった。