共用サーバーSD上、日本語ドメインでの.htaccessを使った301Redirectの方法
あけましておめでとうございます。
おおよその方には関係ない内容を今から書きます(笑)
Webサイトをガラッと変えました。一部お引越しも。
ということで、301リダイレクトをしなければいけません。
が、嵌ってしまったので、それを解決するまでのメモをば。
共用サーバーに関するドキュメントが少なすぎて泣けてきます…。
私の使った無駄な時間がみなさまにとっての有益な時間となりますように。
ドメイン直下に.htaccessファイルを作成して飛ばす
記述内容は、
HTTP301リダイレクト .htaccess によるサイト移転・ファイル移動
(アフィリエイトで稼ぐためのサーバ構築スキル様より)
http://www.googrekas.com/2009/05/topic-181835.html
を参照にして、
Redirect 301 /shosha.html http://juku-lets.com/講座案内/書写
と記述しました。
これは
Redirect(リダイレクト)してね、301つまり恒久的にね。
(http://juku-lets.com/)shosha.htmlからhttp://juku-lets.com/講座案内/書写でね。
というお願いを表しています。
ここでのポイントは、一つ目のURLにはhttp://~topドメインまでの記述が要らないということです。
つまり今回はhttp://juku-lets.comの部分。
ここに記述してしまうと500 internal server errorが起きてしまいます。
日本語が入っている
しかし、これだけではうまく行かない。
日本語のドメインが入っていると、404を返してくる。今回で言うと「講座案内/書写」の部分。
そこで文字コードを変更します。
文字コードはS-JISとなっていたので、これをUTF-8Nに変更。
間違えてUTF-8にして500エラーがおきてうんうん悩んでいたんですが、UTF-8Nで解決しました。
改行コードはLFがいいらしいけれど、CRLFでも問題なく動いています。
(問題あるのかもしれないが現象としては起きていない。)
おまけ:文字コード変更
私はTerapadとFilezillaを使用しているので、下記の方法で、FillezillaからTerapadを呼び出して、文字コードを変更しました。
http://d.hatena.ne.jp/tmuni/20060524/1149209111
仕事に使えそうなツール for Win][FTPクライアント] Portable FileZilla
(tmuniの日記より)
まとめ
- mod_rewriteが使えない
- トップドメインを入れない
- コードをUTF-8Nにする
この三つさえ気をつればあなたも301redirectマスターとなれます。
ただしマイナーな共用サーバーSD上だけにしか通用しないけど。
ちなみに私の本職は営業であり、Webはまったく関係ありません。