カテゴリー別アーカイブ: .htaccess

.htaccess www index あり・なし統一

ここでは.htaccessでwwwやindex.html、index.phpを統一する方法を解説していきます。

apache

wwwをなしに統一

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

wwwをありに統一

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

index.htmlをなしに統一

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

index.phpの場合はindex.htmlの箇所をindex.phpに置き換えてください。

CakePHPでURLの統一

/app/webroot/.htaccess

<ifmodule mod_rewrite.c="">
    RewriteEngine On
    # wwwなしに統一
    RewriteCond %{HTTP_HOST} ^www\.example\.com
    RewriteRule (.*) http://example.com/$1 [R=301,L]
    # /indexなしに統一
    RewriteCond %{THE_REQUEST} ^.*/index
    RewriteRule ^(.*)index/$ http://example.com/$1 [R=301,L]
    # 以下はCakePHPのまま編集しない
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</ifmodule>

なかなか変更されない場合はブラウザのCookieやキャッシュを削除してから確認してください。

.htaccess Basic認証

ここでは.htaccessでベーシック認証をかける解説をしていきます。

apache

.htaccessサンプル

AuthType Basic
AuthName "Input your ID and Password."
AuthUserFile /home/passwd.dat
require valid-user

解説

AuthName (2行目)
ウインドウに表示される文字を指定してください。

AuthUserFile (3行目)
IDとPassを格納したファイルまでサーバルートディレクトリからのフルパスで指定してください。

Basic認証パスワード暗号化

http://orange-factory.com/tool/crypt.cgi
オレンジ工房様

passwd.datファイルを作成

beet:nfDhFdbuMkL0.

例ではIDがbeetでパスワードがtakeshiです。

.htaccessとpasswd.datファイルをアップロードして完了です。