たちまち。

即席で役に立つこと。

AWS LightSail WordPressで、IPアドレスでのアクセスをドメイン名に301リダイレクトする

AWS LightSailのWordPressで運用していたサイトを確認したところ、Google検索結果にて、ドメイン名とIPアドレスそれぞれのアドレスでインデックスが作成されていた。

しかも当然というか、IPアドレス直から飛ぶインデックスについてはSSL証明書エラーが表示されてしまう。

対策としては、IPアドレス直でアクセスされた場合にはドメイン名に301リダイレクトしてやればよい。

ちなみに301リダイレクトは「正しい住所はこっちですよー」という意味で、サイトの引っ越し時などにも使われる。

手順1. Apacheのhtaccess.confを編集する

ファイルは以下のパスに配置されている。

/opt/bitnami/apps/wordpress/conf

この配下にある「htaccess.conf」の末尾に、以下のような設定を追記する。

ここでは、IPアドレスを「123.123.234.234」 ドメイン名を「www.sample.net」と仮定する。

※事前にファイルはコピーしてバックアップしておくこと!

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^123\.123\.234\.234
RewriteRule ^(.*)$ https://www.sample.net/$1 [R=301,L]
</IfModule>

別のドメイン名アクセスされるケースもまとめて制御したい場合は、以下のようにORで接続することもできる。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sample\.net [OR]
RewriteCond %{HTTP_HOST} ^sa\.sample\.net [OR]
RewriteCond %{HTTP_HOST} ^123\.123\.234\.234
RewriteRule ^(.*)$ https://www.sample.net/$1 [R=301,L]
</IfModule>

手順2. Apacheを再起動

SSHで接続し、以下のコマンドを実行する。

sudo /opt/bitnami/ctlscript.sh restart apache

手順3. リダイレクトされることを確認

IPアドレスでアクセスし、正しいURLにリダイレクトされることを確認する。

なお、正しい301リダイレクトを確認する場合、以下のサイトでチェックするのがオススメ。

リダイレクトチェッカーツール - WEB便利ツール@ABASHI