リダイレクトで使う.htaccessって何だろう

404エラーページなどを用意する際に必要な「.htaccess」これについて解説をしていきたいと思います。

そもそも「.htaccess」ってなんやねん!って人も一から解説していきたいと思いますので最後までお付き合いいただければと思います。

 

それぞれの意味を知ろう。

まずは「htaccess」について

htaccess」(エイチティアクセス)とは、現在多くのWEBサーバーで使用されている「Apache」(アパッチ)を制御する設定ファイルの1つで、実際のファイル名は「.htaccess」(先頭がドット)となります。 通常、Apacheの制御は「httpd.conf」(設定ファイル)に記載されています。

htaccessとは? – よく使うhtaccess作成より

アパッチってなんやねん。

 

色々解説が増えてきましたね。ひとつひとつ解説をしていきますね。

Apacheとは、Webサイトを提供するためのソフトウェアです。

現在、インターネットにはありとあらゆるWebサイトが存在していますが、それら全てが、Webサーバソフトウェアと言われるツールによって提供されています。

Webサーバソフトウェアの中でも、世界中で利用されているツールが「Apache」です。

初心者でもできる!Apacheをインストールする方法 より

Webサーバーソフトウェアの一つアパッチを制御できるのがhtaccessという事ですね!

 

さらにアパッチの制御は通常htaccessで制御をされていません。

通常、Apacheの制御は「httpd.conf」(設定ファイル)に記載されています。「httpd.conf」はWEBサーバー全体の制御を行っているため、サーバー管理者しか変更することができません。
レンタルサーバーなどで、自分専用にWEBサーバーの設定を変えたい場合は、「httpd.confファイルの変更」ではなく「.htaccessファイル」を格納することで、WEBサーバの設定変更(一部)を行うことができます。

htaccessとは? – よく使うhtaccess作成より

サーバーを自分で持っていて管理している場合であれば「httpd.conf」を変更すればよいのですが、通常はレンタルサーバーなどで管理している人がほとんどだと思いますので、「htaccess」が必要という事ですね。

 

htaccessができる制御ってどんなことだろう。

  • 特定のページに行ったときにパスワード要求をしたい場合
  • URLがないページに飛んだ際にエラーページに転送(リダイレクト)をする場合
  • デバイスごとにページを振り分ける場合
  • wwwを付けたURLかなしのURLか統一したいとき
  • アクセスを制限したいとき

などなど。

様々な用途に使用することが出来ます。

 

htaccessが機能する環境

まずApache(アパッチ)を使用しているサーバーか調べましょう。

また使用可能でもサーバーによってhtaccessが使えない環境に設定を指定可能性もあるので調べましょう。

 

.htaccessファイルの設置場所

htaccessファイルの設置場所によって制御できる場所も異なります。では設置場所について解説をしてまいります。

160803-02

サイト構成が上記の様な内容だとします。

ホームページ全体に指定したい場合。

サイト全体の制御を設定した場合は「http://sample.com」フォルダにhtaccessファイルをアップロードします。

 

ディレクトリ毎に設定をしたい場合。

ディレクトリ毎に制御を設定したい場合は、「category-a」や「category-b」のフォルダに設定することで、可能になります。

「category-a」に設置した場合は、フォルダ内のファイルのみに制御が設定されます。

 

階層ごとに分けることでそれぞれに制御が機能が動くので個別に設定するのか、全体に設定するのか設計を間違わないようにしましょう。

 

.htaccessファイルの作り方

それでは実際のファイル作り方に入ります。

ファイルはメモ帳などでつくれますが、ファイル名「.htaccess」はウィンドウズの場合文字先頭にドットが入ったファイル名は作れませんのでアップロードしてから名前を変えるようにしましょう。

 

エラーページの記述方法

それでは404ページを例に作ってみましょう。

404ページとは、指定したURLがなかった場合にリダイレクトするページになります。

この記述をする際にエラーコードと404ページのURLの記載が必要になります。

エラーコード(404)とエラーページのURLを入力します。

エラーページは404以外のエラーページもあるのでまた別の機会にご紹介します。

 

URLのwwwありなし

SEOの観点からwwwを統一する事が有用となります。

「あった方が有利」っという事はないので、どちらか好きな方を選びましょう。

 

www無しから有りの場合

2行目の()の部分にwwwありのURLを記載し、3行目に無しのURLを記載します。

 

www有りから無しの場合

反対に2行目の()の部分にwwwなしのURLを記載し、3行目に有りのURLを記載します。

 

リダイレクトをする場合

URLが変わったページに対して新しいURLに転送をしてあげる時などに使用する記述です。

一時的に転送したいURLと完全に転送したいURLとでは記述内容が変わります。

 

ページ毎ではなくディレクトリごとの転送の場合

 

ディレクトリごとの場合は今までのURLを記載しなくてもディレクトリ内のページにアクセスすると転送が起きます。

 

index.htmlの統一をする場合

ホームページのトップページにindex.htmlなどの記載をする場合としない場合とを選ぶことが出来ます。

こちらもwwwと同じく統一をしておくことでSEO上効果的になります。

 

 

アクセス制限をする場合

IPアドレスやホスト名でアクセスを制限することが出来ます。

「allow」が許可、「dany」が拒否になります。

2行目で一度すべてのアクセスを許可して、3行目で特定のアクセスを拒否しています。

 

逆に2行目ですべてのアクセスを拒否して、3行目で特定のアクセスを許可しています。

 

デバイスごとに振り分ける場合。

デバイスごとに振り分ける場合は以下の様な準備が必要になります。

160803-03

SPのディレクトリが、PCディレクトリの直下に入っている。

http://sample.com パソコン用

http://sample.com/sp/ スマホ用

 

そしてページのURLも同一のファイル名にしておきましょう。

http://sample.com/content-1.html パソコン用

http://sample.com/sp/content-1.html スマホ用

一通り解説していきます。

まず上から6行目までの記載

USER_AGENT に含まれるデバイス(iPod|iPhone|iPad|Android|Windows\ Phone) がsp/が含まれていないURLを開いた場合自動的にファイル名を付ける指示が記載されています。

次に7行目から最後までの記載

先ほどとは逆でsp/が含まれていてUSER_AGENT に含まれていないデバイスの場合sp/ をファイル名から自動的に取り除きます。

 

ベーシック認証

指定したいディレクトリ下にアクセスした際にIDやPASSを確認するダイアログを表示させることができます。
これらを行う場合「.htaccess」「.htpasswd」の2つが必要になります。

 

「.htaccess」の記述

AuthUserfile ルートディレクトリから.htpasswdへのパスを指定しています。

AuthGroupfile /dev/null グループごとでのアクセス制限はしないという指定。

require valid-user 入力をしてIDとパスワードが合っていればアクセス権はあるという記述です。

 

「.htpasswd」の記述

IDとパスワードの間に「:」を入れて記載する。

パスワードは暗号化する必要があります。直接入力してしまうとダメなので、コードを生成しましょう。

 

まとめ

「.htaccess」は難しそうに見えるかもしれませんが、記述にはそれぞれ意味が必ずあります。

その記述の仕方を理解すれば意外に簡単に制作は可能となります。

一番重要なのはトライアンドエラーのエラーです。エラーをしたときに修正をしてこそ頭に入ってくるものです。

積極的にトライアンドエラーをしていきましょう!

 

いいね!&シェアお願いします!

関連記事

  1. やっぱり読みやすい!明朝体の基礎 / デザイン基本の「き」

  2. お客様とつながる!集客に適したもう一つのLINE【LINE@】

  3. Web初心者は必ず知っておきたい!CMS・WordPressのキホン

  4. 印象を左右する!欧文タイポグラフィの基礎

  5. 自然の色は入りやすい!なじみの原理で見やすいデザイン

  6. なぜコンテンツ制作には3ステップあるのか?

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA