とーますメモ

Ruby on Rails / Goなどの学習メモ

【Lightsail】DNS設定とWordPressでwww有・無の設定

以下の説明では対象とするドメインをwww.example.comとexample.comで説明する

digを多用するので以下の記事を参考
thoames.hatenadiary.jp

DNS設定

LightsailのDNSレコード設定を以下にする

Aレコード: @.example.com、解決先: StaticIp-1 (静的IPと結びついている)
CNAMEレコード: www.example.com、解決先: example.com

上記の設定で、www有り無しのどちらでも、結びついている静的IPにアクセスできる

[Tips]

Chromeでwww.exampleと表示すると、https/httpのどちらも関係なく、またwwwの有り無しにも関係なく、example.comとして表示される。
以前はchrome://flagsから「Omnibox UI Hide Steady-State URL Trivial Subdomains」を「Disabled」に設定することで
https/httpとwww有り無しも表示できたが、現在は設定できなくなっている。

そこで見つけたのがこちらのサイト
Google ChromeのURLバーに https・http と www を表示する拡張機能 | 海外SEO情報ブログ

Chrome拡張の「Suspicious Site Reporter」を入れることで、https/httpとwww有り無しが表示されるようになる。
これはただ拡張をインストールするだけでOK

WordPressの設定

管理画面のSettings => General内の「WordPress Address (URL)」と「Site Address (URL)」に設定したいURLを入れればよいだけ。
仮にこの設定にwwwのサブドメインからなるドメインを設定したとして、www無しでアクセスした場合、
WordPressが「X-Redirect-By: WordPress」レスポンスヘッダー含めた301リダイレクトをしてくれる。また逆も然り。

[参考]
My website is showing a redirection error! - catalyst2
WordPressのサイトのwwwあり・なしを変更・統一する手順 | iscle [イズクル]

備考

nginxでwww有り・無しのserverディレクティブをそれぞれ作ったとしても、結局はWordPress側でリダイレクトするので
恐らく見れなくなるのではと思う。