.htaccessファイルは、サーバーの動きを決定するファイルです。
.ディレクトリ(フォルダ)配下単位でいろいろな設定ができます。

.htaccessファイルの作成方法

.htaccessファイルはテキストファイルですが、拡張子が無く、
先頭にドット『.』がついていますので、Winodowsでは作成できません。
そこで以下のような方法をとります。
 1) htaccess.txt などとしてメモ帳で作成する。
 2) FTPでサーバーにファイル転送する。
 3) サーバー上のファイル名をFTPで .htaccess に変更する。


全アクセス拒否

order deny,allow
deny from all

内部にcgiプログラムしか置かないときなどは、通常のWebアクセスをすべて拒否しても問題ありません。
もちろんcgiプログラムは実行されます。

特定の参照元(Referer)の禁止

SetEnvIf Referer "^http://www\.hoge\.com" ref_ng
order allow,deny
allow from all
deny from env=ref_ng

特定の参照元(Referer)の許可

SetEnvIf Referer "^http://www\.hoge\.com" ref_ok
SetEnvIf Referer "^$" ref_ok
order deny,allow
deny from all
allow from env=ref_ok

特定ホストのアクセスを禁止

(deny from)
order allow,deny
allow from all
deny from xxx.or.jp
deny from 255.255.255.0

特定ホストのアクセスを許可

(allow from)
order deny,allow
deny from all
allow from xxx.or.jp
allow from 255.255.255.0


Basic認証

(.htpasswd ファイルも用意する)
AuthType Basic
AuthUserFile /public_html/sample/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
Require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>


AuthTypeディレクティブに続いて Basic の値を記述します。
二行目の AuthUserFileディレクティブは、.htpasswdの場所を示します。
値には、フルパス(絶対パス)を指定します。ここで言うフルパスとは、
通常の URI である http:// からはじまるものとは異なります。
フルパスはffftpのサーバ側のタイトルに表示されます。
Basic認証の設定でつまづくとすれば、このフルパスの設定が多いでしょう。
四行目のAuthNameのところは自由に変更できますが日本語にすると文字化けします。
六行目以降のFiles は、なくても問題ありません。
ただし、「.htaccess」や「.htpasswd」はやはり見せたくありません。
そのために、この記述を加えることをお勧めします。
.htpasswdの作り方はここを見てください。

デフォルトファイルの設定

DirectoryIndex top.html

ファイル一覧の一部表示禁止

IndexIgnore ファイル名 ファイル名 ・・・

この一行に記述されたファイル名は、ファイル一覧の時に表示されません。
ファイル名に * を使用すれば、すべてのファイルが表示されなくなりますので、
一見ファイルが何もないように見えます。

インデックス表示を禁止する

Options -Indexes

まず、指定されたファイルが見つからなかった場合に、
ファイルの一覧(インデックス)が表示されるのは、
Optionsディレクティブによりインデックスの閲覧が許可されているためです。
このため、この閲覧を禁止設定にする必要があります。


オプション表示

IndexOptions オプション オプション・・・

オプションに何を指定するかによって変わります。
FancyIndexing アイコン表示で見やすく示します。
IconsAreLinks ファイル名を箇条書きに表示します。
SuppressLastModified 最終更新日を表示させないようにします。
SuppressSize ファイルサイズ表示させないようにします。

表示言語の設定

AddLanguage jp .jp AddLanguage en .en
LanguagePriority jp en
Options +MultiViews

日本人用ファイルとして「index.html.jp」、
英語圏用ファイルとして 「index.html.en」を用意すれば、
自動的にそれぞれの国のページを表示します。
(国情報は、毎回表示時にブラウザから取得します。)

表示言語の設定

AddLanguage jp .jp AddLanguage en .en
LanguagePriority jp en
Options +MultiViews

日本人用ファイルとして「index.html.jp」、
英語圏用ファイルとして 「index.html.en」を用意すれば、
自動的にそれぞれの国のページを表示します。
(国情報は、毎回表示時にブラウザから取得します。)

リダイレクト(他へ転送)

Redirect permanent ディレクトリ名  http://XXX.XXX/

これで指定ディレクトリへのアクセスは、http://XXX.XXX/ に転送されます。
転送の無限ループを作るとサーバーがダウンする可能性があります。

html ファイルでSSIを可能

Options +Includes
AddHandler server-parsed html

通常は、SSIを実行できるファイルの拡張子はshtmlでないといけません。
この設定をすれば、拡張子htmlでも実行可能になります。
※便利ですが、サーバーのパフォーマンスが低下しますのでお勧めしません。
使用する際は、専用ディレクトリの中で、必要最小限のhtmlファイルを動かしてください。

shtml ファイルでSSIを可能

Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

デフォルト拡張子がshtmlのファイルでSSIが使用できない場合定義します。

HTMLソースでPHPを実行可能

AddType application/x-httpd-php .htm .html

拡張子htmlの通常のソースの中で、直接PHPを記述できます。

pngファイルを表示できるようにする

AddType image/png png

同様にすれば、他の形式の画像ファイルも表示できます。

モバイルサイトへの振り分け

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOCKET|UP\.Browser|J-PHONE|Vodafone|SoftBank)
RewriteRule ^$ /m/ [R]

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|iPad|Android|Windows\ Phone)
RewriteRule ^(.*)$ http://sp.example.com/$1 [R]

モバイルサイトとパソコン用のサイトを作って、携帯電話でアクセスした人を
  自動でモバイルページへ飛ばすのです。
「^$」の「^」は行の最初を、「$」は行の最後を表わします。
  つまり何も無い(http://ドメイン)ということです。
 「[R]」は転送の意味です。
 このファイルを置いた直下のディレクトリには
RewriteEngine Off
 を記述した.htaccessファイルを置いた方が良いでしょう。


エラーページの設定

ErroDocument コード [ URI | "メッセージ" ]

ErroDocument 403, 404, 500 [403.html |"メッセージ" ]
ErroDocumentに続いて、最初の値に 403, 404, 500 などのステータスコードを記述します。
半角スペースを空けて、そのステータスコードに該当するエラーが起こった場合に表示する URI の
ファイル、またはメッセージを指定します。
URI ではなく、直接、指定のメッセージを表示させる場合は、
文字列にスペースを含むのであれば、ダブルクォーテーション(")で囲みます。
日本語の指定も可能ですが、.htaccess を保存する際の文字コードに注意してください。
.htaccess ファイルを保存する文字コードがShift_JIS 以外では文字化けするようです。
なるべく半角英数字だけを使ってエラー内容を案内できるようしておくのが無難です。

広告画像を排除する

LayoutIgnoreURI *birth_chk_2000.cgi

---

.htaccessへのアクセスを拒否する

<Files ~ "\.ht">
deny from all
</Files>

『index.html』だけでSSIを使う

<Files ~ "index\.html$">
Options +Includes
AddHandler server-parsed html
</Files>

『/』にアクセスしたときに『index.html』以外を表示する

DirectoryIndex main.html index.html index.cgi

新型オフイスファイルのMIMEtypeを指定する

AddType application/vnd.openxmlformats .docx .pptx .xlsx

ファイルへの直リンクを防ぐには

SetEnvIf Referer "^http://アドレス\.com/" ok
SetEnvIf Referer "^$" ok
<Files ~ "\.(jpg|gif|png)$">
order deny,allow
deny from all
allow from env=ok
</Files>


+++++++++++++++++++++++++++++++++++++++
RGB16777216色カラーツール htaccessの利用 htaccess2