タグ別アーカイブ: .htaccess

そもそも.htaccessとは

King of the Desert
投稿時プレビューしてくれない件だけど、
プレビュー動作時のURLにwordpressディレクトリを追加したら通る状態だった。

関係ありそうなので.htaccessについて調べてみた。

「.htaccess」は、Web サーバープログラムApacheの挙動を決定する設定ファイルの一つ。
具体的には、CGIやSSIなどを実行するための宣言(命令)や、
拡張子ごとにファイルタイプを指定するMIMEタイプの設定、ユーザ認証、
IPアドレスやドメイン単位でのアクセス制限などを書き込むことができる。

うーん、なんかイマイチピンとこないけど・・・と思って調べてみた。
以下リンク先参考。

1 BASIC認証(パスワード認証 ページにパスワードを設定
2 ファイル一覧の表示可否 デフォルトページが無いディレクトリの表示
3 エラーページの設定 エラー時に表示されるページのカスタマイズ
4 デフォルトページの指定 ディレクトリ指定時に表示するページを指定
5 リダイレクト(引越し) サイトの引越しなどによるページ転送の設定
6 リダイレクト(スマートフォン・携帯) スマートフォンや携帯電話(モバイル)のリダイレクト
7 アクセス制限(IP,ホスト) IPアドレスやホスト名を判定しアクセス制限
8 アクセス制限(Referer) Refererを判定しアクセス制限
9 アクセス制限(UserAgent) ユーザーエージェントを判定しアクセス制限
10 アクセス制限(スマートフォン・携帯) スマートフォンや携帯電話(モバイル)のアクセス制限
11 アクセス制限(ファイル) サーバー内のファイル拡張子でアクセス制限
12 SSI.CGI,PHPの拡張子の変更 SSI,CGI,PHPを特殊な拡張子で実行する。

結構いろいろあるんですね。

通常、サーバの設定はhttpd.conf(/usr/local/apache/conf/httpd.conf) ファイルにて設定されますが
このファイルを編集することができるのはサーバ管理者のみとなっています。
よって、レンタルサーバ等を使用してWebサイトを運営されている管理者の方は
「.htaccess」ファイルにて自分のWebサイトの設定を行うこと(挙動を決定すること)となります。

ふむふむ。

「.htaccess」ファイルはそのファイルを設置したディレクトリ以下の
全てのページに有効となります。
例えば、「public_html」に「.htaccess」ファイルを設置した場合
「public_html」内の全てのページ及び
「public_html」以下のディレクトリにある全てのページ(サブディレクトリ全体)が
「.htaccess」ファイルの影響を受けます。では、「httpd.conf」と違う設定をした場合、又は、「.htaccess」ファイルを複数設置した場合はどうなるのでしょう。Apacheサーバはまず、「httpd.conf」に書かれているサーバーの設定を有効にします。
「.htaccess」ファイルを見つけた場合は、Apacheサーバの設定に「.htaccess」ファイルの設定を上書きします。
更に「.htaccess」を見つけた場合、「httpd.conf」の設定に
親ディレクトリの「.htaccess」ファイルの設定を上書きした設定を引き継いだまま、
子ディレクトリの「.htaccess」の設定が上書きされます。
このような操作をApacheは繰り返し行い、出来上がった設定を元にレスポンスを返すのです。

かいつまんで言うと、サーバ単位で行っている設定(の一部)を
自分のサイトのディレクトリごとに設定するためのファイルなんですね。
さてさて。

今回参考にしたURL
ホームページ作成の第一歩.htaccessとは
.htaccessの設定サンプル

photo by: :: Suwaif ::