60歳からITエンジニアを目指す無謀なブログ

60歳で定年し、職種を変更してIT技術者を目指すブログです。

.htaccess ファイルの意味

目的

Webサーバーの基本的な動作を、ディレクトリ単位で制御するための構文を記載したファイル

 

 

/.htaccess - ルート配下に置いた .htaccessファイル  ---(a)
/img/.htaccess - /img ディレクトリ配下に置いた .htaccessファイル ---(b)

置いた場所の配下に全てに影響を与えるので
/img/ フォルダは(a), (b) 両方の.htaccess ファイルの影響を受ける

 

 

RewriteRuleディレクティブ

RewriteRule 正規表現パターン 置換URL [フラグ]

例)

http://www.example.com/blog/hello.html?num=10
ホスト名:http://www.example.com/
クエリー:?num=10
従ってこのホスト名とクエリーの間のblog/hello.htmが正規表現
パターンマッチ検索の対象となる
http://www.example.com/blog/hello.html?num=10

^blog/hello\.html$ //^は先頭、$は末尾、.はメタ文字なのでエスケープシー  
          // ケンスする
上記はbで始まり、lで終わる、かつその間の文字の並びも全て規定されているので ’blog/hello.html’のみにマッチする

これがもし、^blog/hello\.html だったら
'blog/hello.html/css/' にもマッチする






リライトとリダイレクトの違い
・リライト URL表示そのままで置換された同じサーバ内のディレクトリで表示

・リダイレクト 別URL表示に変換され表示する



DirectoryIndex ディレクティブ


DirectoryIndex ディレクティブでは、ディレクトリインデックスを、index.html 以外に設定することができる。
複数のディレクトリインデックスを指定している場合は、最初に見つかったものを返す。