【WordPress】URL wwwあり/なしを設定する場所

サイト運営

先日、いつも使っているサーバーと違うサーバーでWordpressをインストールし、他のサーバーで構築したWordpressサイトを移転しました。

WordPressサイト移転の方法

【超簡単】All-in-One WP Migrationならバックアップもサイト移転も手間いらず【512MB制限をなくす】
Wordpressサイトのバックアップやサイト移転は、『All-in-One WP Migration』を使うのがもはや定番です。 このプラグインを使うと本当に簡単にバックアップとリストアができる上に、他のサーバーへのWord...

All-in-One WP Migrationプラグインを使った簡単手順で移転しました。

  1. いつも使っているサーバーで構築したサイトをAll-in-One WP Migrationプラグインを使ってエクスポート
  2. 見知らぬサーバーにそのままインポートしました。

引っ越し先と違う全然関係ない別ドメインでサイトを作っていたので、URLの書き換えもプラグインを使って自動で行いました。

インポートした後にサイトにアクセスするとひとまずサイトが表示されたので一安心。

URL正規化で問題あり

サイトにアクセスして、ブラウザのURL部分を確認するとhttps、wwwありにリダイレクトされました。

https、wwwありにURLが正規化されていました。

個人的にはURLはwwwなしの方が好みです。www無しにURLを正規化しようと思って.htaccessにリダイレクトの記述を追加しました。

記述した内容は、適当にググって見つけた以下のサイトの記述を参考にしました。

.htaccessでhttps化かつwwwなしに統一するクールな方法
.htaccessにドメインを書かずに「https化」かつ「wwwなし」のアドレスに統一する方法。
RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

.htaccessに正規化の記述が無いのに勝手に正規化されていたので、なんとなく嫌な予感はしていたのですが、『リダイレクトループが発生した』というメッセージが表示されて、サイトが表示されなくなりました。

WordPressでURLを正規化する時のチェックポイント

wwwありとなしの正規化がぶつかっているのでループしているわけですから、wwwありに正規化してる箇所がどこかにあるはずです。

少し焦りましたが、落ち着いて、WordPressの管理画面の設定を見ると、
設定 > 一般設定と進み、「WordPress アドレス (URL)」とサイトアドレスという部分を確認すると、

https://www.hogehoge.comと書かれてました。

ほほぉー。これじゃね?と思いました。

WordPressのこの部分の役割をあまり真面目に考えたことが無かったのですが、どうもこの部分にwwwありのURLを書いておくと、wwwありにリダイレクト(URL正規化)される便利仕様のようで、自前で.htacessでwwwなしにリダイレクトすると、wwwあり⇔なしをピンポンしてしまうようでした。

WordPress アドレス (URL)をwww無しに設定

WordPressの管理画面の設定を以下のようにwww無しに変更しました。

https://www.hogehoge.com⇒https://hogehoge.com

.htacessのwwwなしリダイレクトは不要(削除)

.htacessの自前のリダイレクトを削除

無事wwwなしに正規化されました。

急にwwwありだとページが表示されなくなった場合

WordPressの管理画面の設定でwwwあり・なし、http・httpsの正規化ができると書いてきました。

しかし、ある日突然wwwありでアクセスしたら、wwwあり⇒wwwなし⇒再度wwwありにリダイレクトされてエラーになってページが表示されないという動きになりました。

今まで表示できていたのに、正直なんでこうなってしまったのか理由がわかりません。

しかし、DNSレコードを見ていると、そもそもAレコードにwwwが定義されていないので、DNSレコード的にはwwwの接続先が無いのは気持ち悪いと思って、Aレコードにサブドメイン:wwwとIPアドレスの関係を定義することで問題なくwwwなしにリダイレクトされてページが表示されるようになりました。

A               XXX.XXX.XXX.XXX    もとからあったAレコード
A    www   XXX.XXX.XXX.XXX    追加したAレコード

まとめ

最近のWordpressサイトはほぼwwwなしのURLに正規化されています。Wordpressサイトの引っ越しなどでURLが変わる場合は、WordPressの管理画面の設定で「WordPress アドレス (URL)」がどうなったのかよく確認した方が良いという事例でした。

 

タイトルとURLをコピーしました