HTML死亡録。。。

3.<スライムが倒せない>.htaccess転送とhttps化


人生には無知と自信さえあれば良い。そうすれば、成功は確実だ。byマーク・トゥエイン


ふむ。そのどちらもあると思うのだが。いつまでも同じところをぐるぐる回ってばかりで、いっこうに進歩していない気がする。ドラクエでいったら、いまだにスライムが倒せない、ぐらいのレベルでグルグルと、、、


前回、httpからhttpsへの切り替えの問題がクリアできなかったと書きました。この時点でも、いまだにドメインやらネットワークが一体何を意味しているのかよくわかっていなかったので、起きた事態だといえるでしょう。

つまり、一文字でも変わると、別アドレスなので転送の設定をしなければならない、ということです。この時の僕には、初期ドメインのhttpのページとhttpsのページ。独自ドメインのhttpのページとhttpsのページが存在していたわけです。

ふむ。
とりあえず、
なにがなんだかわからん。

オーケー、落ち着こう。コーヒーでも飲もうや。ズルズル。。。ふぅ。いいね!なんだか目が冴えてきたじゃあないか、まったく!

そもそもだ。俺が数日前に必死こいて更新した(と思っていた)初期ドメインのページは、いらないだろう?だって、それがテキトーな名前で、ダサくていやだからわざわざ金払って独自ドメインを取ったのだろう?そちらの更新をこれからする必要なんかないし、これまでだってなかったわけだ。

というわけで、初期ドメインの中にアップしていったデータはそもそもムダ。これからも更新することないから、httpだろうがhttpsだろうが関係ない。始めたばかりのページだから、初期ドメインから独自ドメインに転送する必要もなし。うん、これで少しすっきりした。データは消すし、そしたらその初期ドメインにアクセスする人がいたとして、ページがありませんと表示されるだけだからだ。(つまり嬉々として更新していたあの労力は、まったくのムダだったわけだ!)

そこで、使う予定の独自ドメイン。この中での転送はどうやるのか。これには2つある。

1.サーバーの管理画面にある、「httpsに転送」とかそんな感じのやつに(おそらく会社ごとに違うが、どこもそういうサービスはやっているはず)チェックをいれればOK(笑)めちゃめちゃ簡単。これでもう、本当にすべて終了。チョー楽。

2.サーバーのドメイン管理画面に、あなたのページの最初の画面を設定するところがある。そこに.htaccessというファイルを作成してぶち込んでやればいい。

え、意味が分からなくなったって?

まぁ落ち着いてくれ。大丈夫だ。俺もわかってないから



というのはウソで、これから解説する。

以前、相手がホームページをみる、ということは君が契約しているコンピューター、つまりサーバーの中にアクセスしている、と言ったのを覚えているだろうか。

サーバーのドメインの管理画面に表示される、公開するwebページを設定する、とかそんな感じに書かれている部分。こいつはつまり、君のサーバーにアクセスした人が、最初にそのフォルダの中のデータにアクセスしますよ、ってことだ。

だからきっとその中身は「〜/www/______ 」とかこんな感じになっているはずだ。こいつの意味するところは、

「〜/」までが君のドメイン。
「www」は、すまんよくわからない。きっと何かおもしろおかしいことでもあったんだろう。
「_____ 」のところは、最初にアクセスしてほしいフォルダを君が決める。という仕組みになっているわけだ。もちろんここは何も入れなくてもいい。

という感じだ。

ここまでは大丈夫なはずだ。いやいや、それがhttpsと転送と.htaccessとどう関係してくるねん、と思うだろうが、まぁ安心してくれ。

さっきからうるさく言っている.htaccessファイルとは、フォルダの動作やアクセスをコントロールするファイルだと思ってもらえばいい。ちなみに、正確にはサーバーにおいてはフォルダのことをディレクトリと呼ぶが、イメージとしてはフォルダのほうが初心者にはわかりやすいし、そのままでも何ら支障はないのでここではフォルダという呼び名を使用していく。他のページで使っている場合はそのまま読み替えてくれればいい。

このフォルダへのアクセスをコントロールするとどういうことができるか。たとえば、権限を持たない人の、あるフォルダへのアクセスを禁止したり、パスワードを設定したりできる。そしてフォルダへのアクセスを転送するということもできるのだ。

今回はこの機能を使う。

いやいや、そんな命令コードなんか書けんがな!という悲鳴が聞こえてくる。だが、それも心配無用だ。ネットには親切な人がたくさんいて、そういうコードはたいていどこかに転がっていたりする。

コード

コード解説

.htaccess解説


以下のコードをコピーして.htaccessというファイルを作成すればオーケーだ。


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


意味が分からないって?大丈夫、俺もわからない(こいつは割と冗談じゃない)。安心してくれ。大まかな、このコードの意味するところは次のようになる。httpsでない場合にhttpsへリダイレクトする。301で。ということだ。301は永久で302は一時的な変更、くらいの意味だ。

え、なに?.htaccessというファイルの作り方がわからない??なんでもいい。メモ帳でもいいさ。そいつにコピペして、保存する。「.」で始まるファイルだと保存できないはずなのでとりあえずhtaccess.txtとかで保存して、そいつをアップする。それから、頭に「.」をつけて、ケツの「.txt」をとりのぞいてやればオーケーだ。

え?アップのしかたがわからない?なんだって?そしたらFFFTPというソフトをダウンロードしてみればいい。vectorとかで無料でダウンロードできる。それか、サーバーの管理画面にファイルマネージャーとかそんな名前のアイコンがあるはずだ。そこを進んでいくと、アップロードとかいうボタンがあるはずだから、アップする場所とファイルを選択して、アップロードすることで、ファイルを送り込むことができる。
(おいらは使い方はここで参照した)

え、どこにアップすればいいかわからない?それにうまくページ移動ができない?それは、もう原因がいろいろあるから、手探りで対処するしかない。

ありがちなのは、.htaccessをアップした場所が違う。上のコードだと、「そのディレクトリ以下からこの命令が始まります」ということになっているので(ちなみにどのディレクトリから始まるかを指定することもできるが、その命令を書いていないので無条件でこうなる)おそらくアップする場所が間違っている。ひとつづつ上や下に移動させてみるんだ。基本的に最初にアクセスするフォルダと同列にあれば場所はあっている。もしくは、https化したときに、ページ内のリンクにhttpのものが混ざっていると、リンクがうまく飛ばないということも考えられる。その場合はページ上部のドメインが「保護されていない通信」と表示されるだけだと思うが、可能性としてはあるだろう。

ほかには、サーバーでwwwからのアクセスを自動で転送する設定になっていて、その設定で無限にhttpsとwwwの間を転送しあっている、ということも考えられるし、キャッシュがクリアになっていなくて、前アクセスしたのと同じ経路でアクセスしてしまっているか。ほかには、メモ帳の文字コードがUTF-8になっていない、とかだろう。


さて、これでやっとスライムを倒したぐらいの進歩だと思うがどうだろう?俺はスライムを倒すまで、半年はかかった。この記事があなたがスライムを倒すまでの時間の節約に少しでも役立つことを願っておるゾ。

今日はここまで!


2.インターネットが故障した.へ戻る 4.ゆうしゃよ、しんでしまうとはなさけない!.へ進む

HTML死亡録トップへ戻る
トップへ戻る