WordPressのSSL化対応時にhtaccessを使ったリダイレクトの書き換えで気を付けるべき3つのこと。

WardPressではパーマリンクを設定すると自動的にhtaccessというファイルが生成されます。普段使っている分には時に気にしなくても良いのですが、SSL化対応等で301リダイレクト等を実装する場合は書き方に注意が必要です。

規則にそって書き換えないと、ページが表示されなかったり、書き込んだソースコードが消えてしまったりします。

今回はリダイレクトをhtaccessにて設定する際に気を付けるべきことをご紹介します。

.htaccessとは?!
Webサーバーで利用されるソフトであるApacheのコントロール設定を行うファイルです。

WordPressのSSL化対応時にhtaccessを使ったリダイレクトの書き換えで気を付けるべき3つのこと。

元のソースコードは絶対に消さない

WordPressではパーマリンクを設定すると自動的に以下のような.htaccessファイルが自動で生成されます。

こちらはWordPressを正常に動かすために必要なコードなため、新しいリダイレクトを書き込む際は、元のソースコードは絶対に消さずに、追記する形で書いていきます。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
追記は元のソースコードより上に書く

リダイレクト等の設定をhtaccess上で行う際は、元のソースコードの下ではなく、上に書くようにします。

下に書いてしまうとテーマによっては型崩れやページが表示されない等のエラーが発生します。

/*

ここに追加のコードは追加する

*/
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN/END WordPress内にソースコードを書かない

SSL化のリダイレクトの際に使用するコードを例として使いますが、追加する新しいリダイレクト用のコードは# BEGIN WordPressと# END WordPressには書かないようにします。

WordPressの何かしらのイベントがトリガーになり、上記内のコードはすべて上書きされてしまいます(追加したコードは消えます)。

上書きされるまでは正常にリダイレクトされるので気付きにくいですが、間違って中に書いてしまうと、しらない間に上書きされてしまい、リダイレクトされなくなってしまうので注意が必要です。

/*SSL化対応*/

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

/*WordPress標準*/

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

まとめ

今後SSL化対応等によりhtaccessファイルを弄る必要がでてくる方が多く出てくるかと思いますが、いくつかのサイトでもhtaccess部分だけあまり丁寧に書かれていないような気がします。

htaccessはapacheのシステムを管理するファイルであり、下手に動かすとすぐエラーが出てくるので注意しながら書き込んでいく必要があります。上記3点を守ることで、ワードプレスでの頻出な問題を回避できます。

関連コンテンツ
Nickey

Nickey

愛知県出身で、現在はベトナムのフエに在住。デンソーやNTTデータベトナムを経て、ベトナム法人 HD Global Consulting Co.,Ltd, を設立。 ベトナムから東南アジアを中心とした世界の面白いや少し役に立つ情報を発信しています。ベトナム人の妻を持つパパであり、日々ベトナム語と格闘中。

コメントを残す

メールアドレスが公開されることはありません。