スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

.htaccessの設定メモ

.htaccess

.htaccessはいろいろな設定ができるので便利なのですが、何をするにもいつも調べるので自分用メモとしてまとめておきます。今度からここを見ればOK。

ベーシック認証

基本的なベーシック認証の設定方法。

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /httpdocs/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user 
order deny,allow

特定のディレクトリのみベーシック認証をはずす場合は、下記を該当ディレクトリに設置。

Satisfy any
order allow,deny
allow from all

特定のファイルのみベーシック認証をはずす場合は、<Files>で指定。

<Files sample.html> 
Satisfy any
order allow,deny
allow from all
</Files>

でも index.html に対しては効かないようですね。

逆に、特定のファイルのみベーシック認証をかける場合は、

<Files sample.html>
require valid-user
</Files>

URLの統一、リライト

wwwのありなし、index.htmlのありなしを設定する方法とリライトの設定。まず、wwwなしをありに統一する方法。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

逆もできますね。

index.htmlをなしに統一する方法。

RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.example.com/$1 [R=301,L]

特定のディレクトリやファイルをリライトする方法。

RewriteCond %{HTTP_HOST} ^www.example\.com
RewriteRule ^sample(.*)$ http://www.example.com/sample2$1 [R=301,L]

正規表現の指定によって、ファイルをリライトする場合も同様ですね。個人的に、ここで正規表現にハマって思うような挙動をしてくれない確率が高いです。。

URLから拡張子を削除

URLのファイル名から.htmlなどの拡張子を削除する方法。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

さらにURLの最後にスラッシュを追加。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

エラー画面の表示

404 Not Foundや403エラーの画面を設定する方法。

ErrorDocument 403 /forbidden.html
ErrorDocument 404 /notfound.html
ErrorDocument 500 /servererror.html

メンテナンス画面の表示

これについてはこちらを参照。

最初に表示されるページ

index.htmlよりもindex.phpを優先して表示したい場合などの設定。

DirectoryIndex index.php index.html

index以外のファイル名を先頭に設定することも可能なようですね。

ディレクトリの中を非表示

indexファイルが存在しない場合に、ディレクトリの中をブラウザから表示できないようにする設定。

Options All -Indexes

逆に、ブラウザから表示できるようにする設定。

Options All +Indexes

.htaccess のリネーム

.htaccessのファイル名を変更して使用する設定。

AccessFileName htacc.ess

PHP関係

PHPを使うときの設定について。まず、エラーメッセージの表示方法。

php_flag display_errors On

開発中はOnにしておいて、公開時にはOffにする感じでしょうか。

文字コード関連に設定。

php_value output_handler                mb_output_handler
php_value default_charset               UTF-8
php_value mbstring.language             japanese
php_flag  mbstring.encoding_translation On
php_value mbstring.http_input           auto
php_value mbstring.http_output          UTF-8
php_value mbstring.internal_encoding    EUC-JP

ここは必要に応じてですねー。

また何か調べたら都度追加していきます。

-- 2010/12/3 特定のファイルのみベーシック認証、ディレクトリの中を非表示、.htaccessのリネームを追記 --

-- 2011/6/1 URLから拡張子を削除を追記 --

新しい記事

ピックアップ

Related Posts Plugin for WordPress, Blogger...
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。