ファイルの中身は、テキストファイルです。
メモ帳などのテキストエディタで作成、編集ができます。
Windowsでは、「ドット」から始まるファイルを新規作成する事ができません。
一旦別の名前(htaccess.txtなど)でファイルを作成し、サーバーにアップロード後、FTPソフトなどで、ファイルを「.htaccess」に変更してください。
コメント行は?
行の先頭に「#」を記述すると、その行はコメントして扱われます。
設置場所は、「public_html」直下に配置してください。
そのドメイン全体に、.htaccessで設定した内容が有効になります。
あるフォルダのみ設定を行いたい場合は、そのサブフォルダに設置してください。
サブフォルダ配下で有効になります。
.htaccessファイルのパーミッション
HTMLファイルと同じ「644」に設定してください。
通常、アップロード後は、「644」になっているかと思いますので、特に変更する必要はございません。
設置したら「500 Internal Server Error」が発生?!
.htaccessファイルに記述方法の間違いなどエラーがあると、どのページにアクセスしても「500 Internal Server Error」が表示されてしまいます。
もう一度、記述に間違いがないか確認し、修正後、再度アップロードしご確認ください。
では、実際に.htaccessファイルの設定例をご紹介します。
1)ディレクトリでアクセスがあった時のデフォルトファイルを変更する
http://www.exsample.com/ など「/」で終わるURLの場合、「http://www.exsample.com/index.html」が表示されるかと思います。
これは、「/」で終わる場合は、「index.html」ファイルがあれば表示するように設定しているからです。
レオサーバーでは、「/」で終わる場合、次の順序で表示するよう設定しています。
1.index.html 2.index.htm 3.index.cgi 4.index.shtml 5.index.php
例1)「main.html」があれば最初に表示するように変更してみます。
DirectoryIndex main.html index.html index.htm index.cgi index.shtml index.php
|
例2)「index.php」があれば、「index.html」より先に表示するよう設定
DirectoryIndex index.php index.html index.htm index.cgi index.shtml
|
2)拡張子「html」でも、PHPファイルとして動作するよう設定する
通常HTMLファイルに、PHPの<?php ~ ?>を書いても動作しませんが、以下を記述すると
PHPファイルとして動作するようになります。
AddHandler application/x-httpd-php .html .php
|
もしくは
AddType application/x-httpd-php .html .php
|
3)HTTPレスポンスヘッダの文字コードを設定する
初期ではレスポンスヘッダの文字コードは「none」になっています。
「UTF-8」以外にも、「Shift_JIS」「EUC-JP」なども設定ができます。
もしくは、
|
AddType "text/html; charset=UTF-8" .html .php
|
PHPにて設定する場合は、
<?php
header("Content-type: text/html; charset=utf-8");
|
4)特定のIPからの接続を拒否する
初期ではレスポンスヘッダの文字コードは「none」になっています。
order allow,deny
allow from all
deny from XXX.XXX.XXX.XXX
|
IP「XXX.XXX.XXX.XXX」は、特定IPもしくはドメインです。ネットマスクも使用できます。
例1 XXX.XXX.XXX.XXX/24
例2 XXX.XXX.XXX.XXX/255.255.255.0
5)独自のエラー表示
ファイルが存在しないなどのエラーが発生した場合に、表示する画面が変更できます。
ErrorDocument 401 http://www.xxxxxx.com/
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
|
6)アクセス制限の方法
特定のフォルダにアクセスした際に、ユーザーID、パスワードで認証をかけることができます。
AuthUserFile /home/FTPユーザー名/public_html/フォルダ名/.htpasswd
AuthGroupFile /dev/null
AuthName "Input your ID and Password."
Authtype Basic
require valid-user
|
※)AuthUserFileは、絶対パスで記述します。
「.htpasswd」のファイル名は、何でも大丈夫です。(慣用的にこのファイル名を使っています)
※)AuthNameには、表示するメッセージを設定します。
日本語文字列を使用するとIE以外のプラウザでは文字化けするようです。半角英数字記号を使った方が良いかと思います。
.htpasswdファイル
user1:usTjXUi1eiWZI
user2:usjRS48E8ZADM
|
.htpasswdのパーミッションは「604」
.htpasswdは、改行コードで区切り、それぞれの行に「ID:暗号化したパスワード」と記述します。
暗号化したパスワードは、
ここ
から、生成できます。
どうぞご利用ください。
7)リダイレクト
アクセスされたURLを、別のURLへ転送します。
|
Redirect permanent ディレクトリ名 http://XXX.XXX/
|
8)mod_rewrite
http://ドメイン名/ に来たアクセスを、URL「http://www.ドメイン名/」 に変えます。
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} ^(ドメイン名)(:80)?
RewriteRule ^(.*) http://www.ドメイン名/$1 [R=301,L]
|
9)PHPの設定ファイルの値を変更する
PHPの設定を、.htaccessで変更する場合、「php_value」「php_flag」を使用します。
| php_value mbstring.language Japanese |
言語指定 |
php_value mbstring.internal_encoding UTF-8 |
文字コード指定 |
php_flag short_open_tag on もしくは、
php_flag short_open_tag 1
|
ショートタグ設定 |
文字列などを設定する場合「php_value」を使用し、フラグを設定する場合「php_value」を使用します。
設定出来ない項目もありますで、設定後、「phpinfo()」などで設定をご確認ください。