.htaccessとは?
どういうときに利用するの?
WEBデザイナーとしてサイトを制作する際に、.htaccessを利用するケースがあります。よく利用するケースに絞って、上記の疑問を解決していきます。.htaccessがよくわからなくても、これだけ抑えておけば業務で困りません。
.htaccessは、サイト全体に影響を及ぼすファイルなので利用する際はバックアップを取得したうえで、慎重に作業を行いましょう。
.htaccessとは
簡単に説明すると、WEBサーバーの動きを、ディレクトリ単位で制御することができるファイルになります。
設置した階層の配下を制御することができるので、基本的にはサイトのTOPページと同じ階層に配置をします。
活用方法1:ベーシック認証
サイトを構築しているときに、一般の人に構築中のサイトが見られないようにパスワードを設定します。
サイトの開発時に必ずと言っていいほど使うので、覚えておきましょう。
1:.htaccessにベーシック認証の記述をする
2:認証用のパスワードとして、.htpasswdを作成する
3:それぞれをサーバーにアップする
1:.htaccessにベーシック認証の記述をする
.htaccessファイルに以下を記述します。
AuthUserFile / 設置場所のフルパス /.htpasswd
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
※設置場所のフルパスを調べる方法※
<?php
echo __FILE__ ;
?>
こちらをテキストファイルに書いて適当な名前+.phpで保存してください。
フルパスを知りたい場所に作成したファイルを設置します。
設置したファイルのURLにアクセスするとフルパスが表示されます。
取得例:
ファイル名 path.php を作成
https:// aaaa.com/test/ のフルパスを知りたい
https:// aaaa.com/test/ の配下にpath.phpを設置
https:// aaaa.com/test/path.php にアクセスすると、表示されたページにフルパスが表示されます。
2:認証用のパスワードとして、.htpasswdを作成する
サイトを閲覧する際に入力するIDとパスワードを設定しましょう。
パスワードはファイルに直接書かずに暗号化しましょう。ツールを借りれば暗号化されたパスワードを簡単に作ることができます。
※パスワードを作ってくれるサイト※
3:それぞれをサーバーにアップする
1と2で作成したファイルをサイトのTOPページと同じ階層に配置しましょう。
実際にサイトにアクセスし、
・ID、パスワードの確認が表示される。
・設定したIDとパスワードでサイトの表示ができる。
を確認しましょう。
活用方法2:ページのリダイレクト
・ページ単位
・ディレクトリ単位
で、それぞれリダイレクトの設定が可能です。
ページの引っ越し、削除をした際に利用します。ページに直接書くわけではないので、旧ページが存在していなくても、指定ページから指定ページへの転送が可能になります。
※301リダイレクト(恒久的な転送)の設定方法です。一時的な場合は302リダイレクトを利用しましょう
ページ単位のリダイレクトをする例
RewriteRule ^/oldpage.html$ https://ドメイン名/ファイルまでのディレクトリ/newpage.html [R=301,L]
oldpage.html から newpage.html へ転送します。
ディレクトリ単位のリダイレクトをする例
RewriteRule ^oldfile(.*)$ /newfile$1 [R=301,L]
/oldfile/ から /newfile/ へ転送を行います。
活用方法3:URLを正規化する
サイトのURLを統一する際に利用します。
詳しくはこちらの記事を参考にしてください。
活用方法4:アクセス制限をかける
特定のIPをはじく or 許可する際に利用します。
特定のIPやドメインを防ぐ場合
order allow,deny
allow from all
deny from アクセス制限したいIPアドレスorドメイン
怪しい動きをするIPをブロック(短期間に大量のアクセスをしてくる海外のボットなど。)する際に利用します。
特定のIPやドメインを許可する場合
order deny,allow
deny from all
allow from アクセスを許可したいIPアドレスorドメイン
特定環境下だけ、アクセスできる状態を作る場合に使用します。
例えば、管理画面へのアクセスを会社からのIPのみ許可することで、自宅からのアクセスを禁止し、出社したときのみ管理画面を操作できるようにすることができます。
活用方法5:404ページの設定
存在しないページのURLをたたいた際に表示されるページを設定します。
基本的にはこれでOKです。
ErrorDocument 403 /error.html
ErrorDocument 404 /error.html
ErrorDocument 500 /error.html
存在しないページのURLを入力すると、 error.html(指定したHTML)が表示されるようになります。
活用方法6:ページをinclude(共通)化する
サーバーによって若干書き方が変わりますが、基本の形はこちらとなります。
AddType application/x-httpd-php .php .html
AddHandler application/x-httpd-php .php .html
※当時はよく、さくらサーバーで動かず泣かされました。ありがたいことに、今ではたくさんの記事が出てくるので、サーバー名 .htaccess php htmlとかで検索すれば方法がたくさん出てきます。動かなかった場合は検索してみましょう。
ページを共通化する方法はいくつかあるのですが、htmlファイルのまま、PHPのインクルードを利用して共通化ファイルを利用する際に、こちらの記述を.htaccessに記載します。
※include化についての詳しい記事は後日作成します。
まとめ
.htaccessはどういうときに使用するのか。
WEBデザイナーが良く使う内容をまとめてご紹介しました。
- 活用方法1:ベーシック認証
- 活用方法2:ページのリダイレクト
- 活用方法3:URLを正規化する
- 活用方法4:アクセス制限をかける
- 活用方法5:404ページの設定
- 活用方法6:ページをinclude(共通)化する
特にベーシック認証は、制作を行う過程でほぼほぼ利用するので必ず覚えましょう。
テストサイト構築の際に、さらっと「ベーシック認証 アイパス xxxxとxxxxで設定しておきました。」と言えるようにしておきましょう。