https化で出てくる問題(https化した途端にmod_rewriteが効かなくなってしまう)
2018/03/15
2019/12/23
タグ: https, mod_rewrite, SSL, トラブル, 動作しない
Google Chromeの7月リリースバージョンでいよいよサイトのALL SSL化が始まる。
これによりhttpに対応していないサイトは「このサイトは安全でない」の画面が出てしまう。今でも
稀に見ることがある画面ですが、あの画面がでてしまったら当然誰もクリックor タップしないでしょう 。
ということでSSL化をしなければ行けないわけだけど、もう一つこれには考慮が必要なことに気づいた。
スマホとPCコンテンツを分離して作成している場合はアノテーション設定が必要だが、モバイルファーストインデックスも
開始宣言(2/21)が出ているし、何よりもアノテーション設定でURLをhttpsに変更しなければならない。
※レスポンシブで制作している場合は気にする必要はありません。WORDPRESSでデバイスプラグインを使っている人も問題なし
ということでSSL化をやってみると色々な新規顧客である特有の問題が出た。
一番ハマったのが、「https化した途端にmod_rewriteが効かなくなってしまう。httpのときにはmod_rewrite使えたのに!」という現象のサーバが幾つかあった。
つまりWORDPRESSなどではカスタムパーマリンクが使えなくなってしまう現象に遭遇しました。
原因を調べるために、約1日考え込み実験をしまくりました。
や~、これは気が付かなかった。httpd.confを普段触らずVirtualHostでサイト定義するから頭がそちらに向かなかった。
なんとhttpd.confを調べたら下記のようになっているではないですか! なるほど、それではTOPからその設定になっていると
下位で設定したコンフィグは無視されますね!
httpd.conf 修正前)
1 2 3 4 |
<Directory /> Options FollowSymLinks AllowOverride None </Directory> |
httpd.conf CentOSの場合修正後)
1 2 3 4 |
<Directory /> Options FollowSymLinks AllowOverride All </Directory> |
apache2.conf Ubuntuの場合修正後)
1 2 3 4 5 6 |
<Directory /> Options FollowSymLinks #AllowOverride None AllowOverride All #Require all denied </Directory> |
apacheを再起動してめでたくmod_rewriteがSSLで使えるようになりました。
上記の設定はDirectoryディレクティブを使用しているため、適切に範囲設定をその環境内で
望ましい設定を厳密には行う必要があります。上記のケースでは”/”でAllowOverride Allにしているためセキュリティを
高くするためにはフォルダーの範囲をもう少し狭めたほうが良い場合もあるので実験して良いバランスの設定を考慮スべきと思います。
他にも、https化で出てくる作業が多いのでメモをしておきます。
https化で遭遇する付帯作業
- Google Search Consoleにhttpsでサイト登録が必要
- 旧httpアドレスがインデックスされたり、他サイトと連携している場合はhttpアドレスからhttps転送設定が必要
- 転送設定をjavascriptでやる場合は注意が必要。コンバージョンが拾えなくなる可能性がある。リファラーを追加する設定が必要かも
- Google Analysticsの管理画面でプロパティ、ビューのURLをhttpsに切り替える。ビューのコンバージョンURLも変更。
- sitemap.xmlをhttpsのアドレスになっているかチェック、なっていなかったら作り直し
- WORDPRESSのプラグイン経由でanalysticsを設定、取得している場合は再設定が必要になる場合が多い