短縮URLって知ってますか?短縮URLとは元々長いURLを短くして覚えやすくしたものです。例えば
https://raspiblog.com/command/503/
を
https://s.raspiblog.com/sudo
などに変えることができます。短縮URLを作成できるサービスはbitlyなどがありますが、短縮URLは転送先が接続してみないとわからないということから広告サイトへの誘導や閲覧したユーザーを攻撃するサイトに思わず接続してしまう場合があります。このサービスを使用するとURLはbit.lyから始まりますが、DNS(ドメインネームサーバー)をbitlyのサーバーに設定することで独自ドメインの設定もできます。しかし、デメリットもあります。
例えば見知らぬURLのリンクが付いたメールが送られてきたらどうしますか?多分メールを疑い、スパムメールだとすぐにわかるでしょう。(なんか翻訳したみたいになってるなぁ・・・)
ですが、それがよく知られているURLだったらどうでしょうか。「どこどこでmacのsafariからお使いのアカウントにログインされました。覚えがない場合はパスワードを変更してください。こちらをクリック→https://〇〇〇〇.com/5Gisveryfast 」
とかだったらクリックしてしまいがちですよね。もしも短縮サービスを利用したときに情報が漏れてしまったらサイトの信用度も落ちてしまうことや事件の加害者になってしまいかねません。そんなことになっては困るので、今回は自分で外部サービスを使用せずに短縮URLを作っていきたいと思います。
どうやって作るのか
今回はサブドメインを作って作成する方法とディレクトリを作成してその中に作る方法を紹介します。HTMLを使用した簡単な転送です。
サブドメインを作る
まず独自ドメインのサブドメインを取ります。レンタルサーバーが提供しているサブドメインを使用しているドメインはサブドメインが取れない場合があります。その場合はディレクトリを作る方法を試してみてください。サブドメインの名前はわかりやすい方がいいので今回はshortのsで作りたいと思います。
詳しいサブドメインの作り方はレンタルサーバーによって違うので今回は割愛しますが、レンタルサーバーのヘルプに書いてあると思います。
raspiblog.comのドメインはバリュードメインで取得してさくらサーバーで管理しています。
サブドメインを追加
先にさくらサーバー側でサブドメインを設定します。こことDNS設定に追加の順番を間違えると使えなくなるかもしれないのでご注意ください。(経験者)
(もしかしたら使えなくなったのはraspiblog.comを追加するときにネームサーバーと逆に設定してしまったからかもしれないです)
「他社で取得したドメインを移管せずに使う」をクリックして「他社で取得された独自ドメインのサブドメインを追加」にsと入力して追加します。
ディレクトリの追加
次に公開用のディレクトリを作成します。名前はわかりやすいように「raspiblogshort」とかに自分はしておきます。好きな名前をつけておいてください。
ディレクトリを選択
次に先程のサブドメインの設定で作ったディレクトリの名前を指定します。
www.s.raspiblog.comからs.raspiblog.comに転送するようにしておきました。www.s.raspiblog.comを使うと2回転送されることになってしまうのでこっちは使わないようにしておきましょう。
DNS設定に追加
まずDNS設定に設定を追加します。さくらサーバーの場合はこのように記述してください。
ns s ns1.dns.ne.jp. ns s ns2.dns.ne.jp.
これでs.raspiblog.comを使用することができます。
接続できるかテスト
しっかり設定が反映されているか確認するためにindex.htmlを配置してみます。この内容をindex.htmlを作成して入力してください。その後s+独自ドメインにアクセスしてみてください。It is working!という文字が表示されるはずです。
<html> <head> <title>It is working!</title> </head> <body> <h1>It is working!</h1> </body> </html>
SSLも設定しておきましょう。SSLは通信を暗号化してくれます。信頼を高めるためにも重要です。
SSL化
さくらサーバーの設定よりSSLからLet’s Encryptを選択します。無料で使用できます。
発行が完了したらSSLを使用することができます。少し待ちます。結構長いのでカップラーメンが20~40杯くらい作れます。(食べられるとは言っていない)
発行されたらhttpsにリダイレクトされるように設定しておきましょう。
ディレクトリを作って作成する
ディレクトリを作って作成するのは早いです。ドメインのディレクトリに移動してsという名前のディレクトリを作るだけです。
raspiblog.com/s/で接続することができます。
短縮URLの作成
クローラーがインデックスしないようにする
ついに本題です。短縮URLを作っていきます。まず、転送をしたときにクローラー(検索エンジンがインデックスをするときにサイトを巡回するロボット)が評価を引き継ごうとしないようにrobots.txtを作ってクロールをしないように設定します。
User-agent: * Disallow: /
転送用HTMLを作る
任意の名前のHTMLを作成し、以下の内容を記述します。
<html> <head> <meta http-equiv="Refresh" content="0;URL=https://"> <title>自動で転送します</title> </head> <body> <p>自動でhttps://に転送します。自動で転送しない場合は次のリンクをご利用ください。</p> <a href="https://">https://</a> </body> </html>
この中にあるhttps://の後に転送したいURLを記述してください。https://raspiblog.com/electronicwork/615/に転送させたいという場合はこのようになります。
<html> <head> <meta http-equiv="Refresh" content="0;URL=https://raspiblog.com/electronicwork/615/"> <title>自動で転送します</title> </head> <body> <p>自動でhttps://raspiblog.com/electronicwork/615/に転送します。自動で転送しない場合は次のリンクをご利用ください。</p> <a href="https://electronicwork/615/">https://raspiblog.com/electronicwork/615/</a> </body> </html>
chime.htmlで保存しました。
https://s.raspiblog.com/chime.html
しっかり転送することができました。
.htmlをつけなくてもできました。
最後に
- 自分の独自ドメインで作った短縮URLは自分の独自ドメインのみに使用しましょう。
- 同じページにリダイレクトし続けるのはサイトの評価を下げかねないので絶対にやめましょう。
間違っているところなどがあれば教えてください!