htaccessの役割と設定方法 -htaccess(1)-

サイトの一部だけ認証方式にしたいとか、アクセスできるホストを制限したい、「ページが見つかりません」と出したいといった場合、"htaccess"というファイルをサイトデータと一緒に設置することで実現することができる。

"htaccess"はサーバ上に「.htaccess」というファイル名で保存され、その中身は実現したい機能の命令文を書いたテキストファイルだ。

しかし、全てのサーバで利用できるわけではなく、一部のホスティングや無料のホームページ領域では"htaccess"が許可されていない場合があり、Webサーバを独自にインストールしても設定を変えなければ使用することができない。


Webサーバの多くは"Apache"が動作しており、その設定ファイルは"httpd.conf"というファイルで保存されている。
テキストエディタで以下の場所の注目する。

<Directory "/var/www/html">
Options FollowSymLinks MultiViews IncludesNoExec
AllowOverride None
Order allow,deny
Allow from all
</Directory>


<Directory "/var/www/html">はサイトデータのあるディレクトリの設定をしているもので、"AllowOverride"がhtaccessの設定となる。

今は"None"となっているので利用することはできない。

これを"All"にするとhtaccessの全ての機能が利用することができる。

尚、Apacheの"httpd.conf"を書き換えた場合はApacheの再起動により設定が有効になる。


もし一部の機能だけを使いたい場合は、"All"の代わりに"AuthConfig"、"FileInfo"、"Indexes"、"Limit"があり、それぞれ該当する機能は次の通りになる。


[AuthConfig]
 認証に関するディレクティブの使用を許可する
(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require など)

[FileInfo]
 ドキュメントタイプを制御するディレクティブの使用を許可する
(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime の Add* と Remove* ディレクティブなど)
 ドキュメントのメタデータを制御するディレクティブの使用を許可する
(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName), mod_rewrite のディレクティブ RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)
 mod_actions の Action ディレクティブの使用を許可する

[Indexes]
 ディレクトリインデックスを制御するためのディレクティブの使用を許可する
(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName など)

[Limit]
 ホストへのアクセス制御を行うためのディレクティブの使用を許可する
(Allow, Deny, Order)


大よそ上記にある項目数分がhtaccessの機能なのだが、あまり知られていないものもあるので状況によっては重宝する時がある。


ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック