Wixから別サイトにリダイレクトをかける方法
Wixから別サイトにリダイレクトをかけたい
先日、「新しくオープンしたサイトへWixの旧サイトからリダイレクトで飛ばしたい」というご要望がありました。
検索では旧サイトが上がってくるので、検索結果をクリックしたら新サイトに飛ばす、という事です。
内容は下記の通り。
旧サイト:example.co(レジストラ:Wix サーバー:Wix)
新サイト→ example.com(レジストラ:お名前.com サーバー:さくらインターネット)
Wixからのリダイレクトでは色々と制約あり
今回の案件は、普通に考えればそれほど難しい話ではないように思えます。
.htaccessで新サイトのURLに301リダイレクトをかければ済む話なのですが、Wixの場合そうはいきません。
Wixでは、下記のような制約がありました。
・Wixでは.htaccessをサポートしていない。
・WixではJavaScriptでリダイレクトをかける事ができない。
・.coドメインは他レジストラへの移管が困難
うまくいったリダイレクト方法
対策として、さくらインターネット側に旧ドメイン「example.co」を設置して、そのトップページにリダイレクト用JavaScriptを設置するという方法を試みました。
色々試行錯誤はありましたが、結果的に下記の方法でうまくいきました。
手順1:Wix側のDNS設定を追記変更する
・Wix側のDNS設定で、「example.co」のAレコードの値を新サーバー(さくらインターネット)のものに変更する。
・同じくWix側のDNS設定で、元々設定してあるwww付きのCNAMEを削除し、Aレコードに「www.example.co(値:上記と同じさくらインターネット)」を追加する。
※www付きのホスト名は、AとCNAMEで共存できないため、CNAME側を削除します。
手順2:新サーバー側に旧ドメインの設定をする
・さくらインターネットに旧ドメイン「example.co」を追加する。(無料SSL付きで)
・そのトップページに、リダイレクト用のソースを記述する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Example</title> <script> setTimeout("redirect()", 0); function redirect(){ location.href='https://example.com/'; //リダイレクト用URL(新) } </script> </head> <body> </body> </html> |
以上でうまくリダイレクトできました。
まとめ
今回の案件は、解決までに色々と試行錯誤がありました。備忘録として書いておきます。
・WixはwwwありのURLで統一されている。(wwwなし、というのはない)
・さくら側で無料SSLを設置するには、wwwあり/なし両方のAレコードがさくらに向いている必要がある。
・さくら側で.htaccessを設置して301リダイレクトしたかったのだが、リダイレクトループになってしまい、断念。JavaScriptにて対応。
同じような案件を受け持った方の参考になれば幸いです。
公開日:2020年6月14日
最終更新日:2020年6月14日