この記事は約 4 分で読めます。
ずっと運営していたサイトのURLを都合により変更(ファイルを移動)させてしまった時、ブックマークから訪問してくれた人が困らないように新しいURLへ転送する事が必要になります。
そんな時、「.htaccess」に記述(HTTP301リダイレクト)をすれば、自動で新しいURLに転送してくれるので便利です。
「.htaccess(ドットエイチティーアクセス)」とは?
せっかくだからいろいろググってみました。アクセス制御とかに使うのは知ってたけれど、何?って思うと案外答えが言えないものだったので・・・。
.htaccess(ドットエイチティーアクセス)とは、Apacheを用いたWebサーバにおいて、ディレクトリ単位で設置及び設定を行える設定ファイルである。
Apacheではhttpd.confという設定ファイルでApacheの設定を行うが、Webサーバの要となる設定ファイルであるため、Webサーバの管理者でないと設定を変更することができない。
.htaccessはhttpd.confで.htaccessの利用を許可している場合、Webサーバ管理者のみならずウェブサイトの管理者レベルでApacheの一部設定を行えるようにしたものである。(中略)
「主な用途」は以下の4つ。
・IDとパスワードによる制限 – Basic認証やDigest認証を用いて特定のIDとパスワードを用いてログインしないと閲覧できないようにする。
・IPアドレスとリモートホストによる制限 – 特定のIPアドレスとリモートホストのアクセスのみを許可、あるいは拒否を行えるようにする。
・エラーメッセージのカスタマイズ – IDとパスワードが違う、アクセスが禁止されている、ページが見つからない、サーバーでエラーが生じたといったエラーメッセージを独自のものに差し替えることができる。
・MIMEタイプの指定 – MIMEタイプを用いてファイルが何の種類(JPEG、zipなど)であるか判別させることができる。
【ウィキペディア「.htaccess」より一部引用】
「.htaccess」に記述してみる
「.htaccess」をエディタソフトで記述して、サーバーに転送すればOKです。
サーバーによって属性が変わると思うので、レンタルサーバーの仕様を確認して転送してください。
記述は、以下のように・・・書きました。
同じサイト内でファイル名が変更した時
※◆はスペースと見てください。
「http://motoshige.net」部分はサンプルのURLなので書き換えてください。1ファイルにつき1行書く事となります。
1 |
Redirect◆permanent◆/前のファイル名◆http://motoshige.net/新しいファイル名 |
1 2 |
//例「archives/3141」を「archives/slide」とファイル名を変更した場合(htmlファイルなら最後に.html入れます) Redirect◆permanent◆/archives/3141◆http://motoshige.net/archives/slide |
ディレクトリごと一括で変更
ディレクトリもディレクトリごとに1行書いていけば、ファイル1つ1つ書かなくてもリダイレクトできます。
1 |
Redirect◆permanent◆/前のディレクトリ名◆http://motoshige.net/新しいディレクトリ名 |
1 2 |
//例 「blog」の中に移動させた場合 Redirect◆permanent◆/blog/archives/◆http://motoshige.net/archives/ |
ひとまず、こんな感じで新しいURLにリダイレクトしてみました。
ブラウザで表示確認してみてOKだったので、ひとまずホっです♪
日頃あんまり「.htaccess」を扱う事がなかったので、まだ理解してない事も多いです。でも使ってみると便利なんで、もっと理解しておきたいと思います。
参考サイト
【HTTP301リダイレクト .htaccess によるサイト移転・ファイル移動/アフィリエイトで稼ぐためのサーバ構築スキルさま】
WordPress をディレクトリごと移動する方法 /minorio のプログラミング・メモさま