🛬

z.comがサービス終了するので(中略)スターサーバーと無料Googleサイトが最適だった話(後編)

2024/07/10に公開

はじめに

スタードメインという今の私にピッタリなサービスを見つけたことでいよいよGWSでもお名前メールでも無くなってしまった本記事なのですが、一旦移行完了した時点で以下のようにいくつか課題が残っていました。

  • Googleサイトに独自ドメインを設定する場合、「www」等(別の文字列でも)サブドメインである必要があるため、元々使っていたwww無しの〇〇.comから、wwwアリの方へリダイレクトなどの設定が必要になる。しかし上手くリダイレクトが設定できない。
  • SSL証明書を有効にしていたはずなのだけどhttps://〇〇.com でアクセスしても、上手くサイトが表示されずリダイレクトもなされない。

リダイレクトについて

元から使っていたドメインをやめる

発想を転換しよう。よくよく最初はGoogleサイトへ紐づけるドメインは「www.~~~」の形が必須なのかと思っていたのですが、ある時wwwでなくても任意のサブドメインが設定できることに気づいた。(後述する書籍で理解が深まったのも一因。素晴らしい)

元から使っていたドメインは割と急造だったこともあり、さらにメールアドレスなどは別のドメインで作成していることから、そちらの今メインで使っているドメインのサブドメインを作成してそっちをGoogleサイトへ紐づけることで、スッキリさせることにした。

メールアドレスを設定していたドメインで別途Googleサイトを作成して紐づけておいて、元々のアドレスは、Googleサイトとの紐づけを解除して、スタードメインからリダイレクト設定をする、という形にする。これで問題なく前のアドレスが新サイトへ引き継がれるはず。
元々アクセスも少なかったので、あまりにない場合はドメインを管理する数を減らせるという点でもいずれ削除も視野に入れておくことにする。

違うサービスを考えた際に、そっちも本体のドメインのサブドメインって形でWEBサイトを追加できる点も魅力である。

サブドメインの設定について

別のサービスも考えるパターンも想定して、GoogleサイトのURLは本体ドメインのサブドメインにすることにした。
スターサーバーの管理画面には「サブドメインの作成」のような項目もあるのだけど、サブドメインをGoogleサイト独自ドメインに設定するには、それは必要ない。シンプルにGoogleサイトの設定に従ってDNSレコード設定を追加していけば良い。
こちらのサイトが大変参考になった。

下記の書籍の知識を踏まえると、CNAME設定により、当該ドメインにアクセスした場合、Googleのサーバに対応するIPアドレスを読みに行くような設定になっていると理解された。素晴らしい本です。

WEBページのSSLエラーについて

さて、上のGoogleサイトの設定は上手く行ったのですが、次はもともと使っていたドメインからGoogleサイトにつなげたドメインへの転送設定ができれば完了です。

しかしながらですね、スターサーバーデフォルト機能の転送設定では、http接続では問題なく転送されるのですが、https接続だと転送されません。というかサイトが表示されません。

スタードメインのSSLの有効化が反映されないのか?とか、私のやり方が間違っているのか?とか色々紆余曲折したのですが、結論、(どこかのタイミングでとち狂って)リダイレクトさせたいドメインのDNS設定を全削除していたのが原因でした。薄っすらそんなことをした記憶もなくはないのですが・・・あまり記憶がありません。怖いです。

ていうかDNSとかネームサーバーとか何もわかってなかったのでイマイチどこがどうなると良いのかわからんわからんとぐるぐる回っていたのですが、丁度近所の図書館で調べてみたらドンピシャな本『Webサイト管理のきほん』を見つけまして、早速借りて読んでみたところDNSやWEBの全てを完全に理解することができました。他の本と比べたわけではないのですが私のようなWEBのブログとマニュアルで何とかやりたいことを実現してきたけど、全体として何がどうなっているのか・自分が何をしているのかをさっぱり理解していない人には大変ピッタリな本だと思いました。

というわけでその完全な理解をもとに設定をし直した‥‥というわけではなく、上記DNSが全部消えてたので無料サーバーを一回削除してもっかい作れば、なんかいい感じに初期設定されるんじゃね~?てなノリで削除・再作成したところ、上手いことDNS設定が行われまして、無事SSLも適用されました。

ただし、スターサーバーが提供してくれる転送設定だと、http://〇〇.comへのアクセスは問題なく転送してくれるのですが、これがhttpsになると上手くリダイレクトされません。困った。

リダイレクトについて

しかし素晴らしい書籍でWEBのすべてを理解した私は、Apacheの設定ファイルについても理解したので、こちらのブログなど「Apache リダイレクト」などで検索してヒットする情報をもとに以下のように.htaccessファイルへリダイレクト設定を追記することで、無事リダイレクトさせることに成功したのでした。めでたしめでたし。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^〇〇\.com$ [NC]
RewriteRule ^/(.*)$ https://新ドメイン.com/$1 [R=301,L]

(2024年7月10日 早速追記)
↑の書き方ではやっぱりだめみたいでした。ていうか、結局スターサーバーのリダイレクト設定で上手く行ったのかもしれません。
こちらのサイトなどを見ながら最後の最後ちゃんと理解する必要がありそうです。

(2024年7月13日再度追記)

上記サイトに加え、別途丁寧に記載していただいているこちらのサイトなども確認することで、最終的に以下のように記載することで過去のページへのリンクを全て新サイトトップページへ移行することが出来ました:

RedirectMatch permanent .* https://新ドメイン.com

なお、スタードメインのデフォルトでの転送設定だと、管理画面から転送先URLを指定すると、旧ドメインのサーバの.htaccessファイルへ

#####redirect#####
Redirect permanent / https://新ドメイン.com/
#####end:redirect#####

のように記載してくれます。これは、「元のドメインの〇〇.com/brbr」にアクセスがあったら、「/」以降をそのままに新ドメインの「https://新ドメイン.com/brbr」へ転送する、という設定でした。不通に考えればそれでいいのですが、もはや旧サイトのURL一覧が良くわからなくなっているので、もう何でもいいからトップページへ飛ばしたいところです。そうすると上の

RedirectMatch permanent .* https://新ドメイン.com

の書き方だと、RedirectMatchの後の一つ目の引数(引数なのか?)は、旧ドメイン「〇〇.com/」以降のパスを意味して、かつ正規表現で「.*」は一文字以上の任意の文字列を意味するので(多分・・・)、「http(S)://〇〇.com/(任意の文字列)」へのアクセス全てを、「https://新ドメイン.com」へ転送する、という命令になっていました。

なお元々書いていた

RewriteEngine On
RewriteCond %{HTTP_HOST} !^〇〇\.com$ [NC]
RewriteRule ^/(.*)$ https://新ドメイン.com/$1 [R=301,L]

は一体何だったのか3分ほど考えてみたのですが、「RewriteEngine」の指定方法は色々と複雑らしく、一回理解するのを諦めました。ただ「$」とか「$1」とかあるのは、元のURLパスを新ドメインへの転送後も維持する設定らしいです。
また、「上手く行かない」とか言っていたのは、もう記憶が怪しくて思い出せないのですが確か「https」での接続の際にエラーになっていたのを指して書いた気がしますが、そえはシンプルにSSL証明書の反映に時間が掛かっていただけという説が濃厚です。多分。
とりあえず今度こそ以上!

おまけ ブログについて

もともとはWordPressでブログ機能も使っていたのですが、Googleサイトにはブログはありません。しかし同じくGoogleのサービスで、なんと無料で独自ドメインも設定できる(すごい)Bloggerというサービスがありましたので、こちらにブログの内容は移行することにしました。

独自ドメインの設定も、設定画面から指示に従ってポチポチやれば完了します。

さらにSSLまで無料でやってくれます。

ただ問題は、元々のWordPressのブログをブラウザで表示して、その内容をBlogger投稿画面にコピペして、画像もそのままコピペされたので楽ちん楽ちんと思っていたところ、画像はリンクだけがコピーされていただけでZ.com サーバー終了に伴って全画像が消えてしまったのでした。悲しすぎる。

ローカルには画像はあるので、最後頑張って紐づければ本当に完了です。。。だるい。。。

おわりに

だいぶ最後項目も雑になってきたのですが、最低限の目標も達成されたことで、一旦自分向け作業備忘記録としては終わりにします。
気が向けば適宜追記したり補足したり、文章整えたりします。以上!

Discussion