- .htaccessのdeny from all で apacheのTestPageが表示されてしまう
- 2010.02.07
携帯サイト用にPCからのアクセスを拒否する.htaccessを作成する際、apacheのTestPageが表示されてしまい、対応に時間がかかったため、備忘録として記述します。
【.htaccessの内容】
order deny,allow
deny from all#アクセスを許可するIPアドレスを一行ずつ記入する
allow from 210.153.84.0/24
allow from 210.136.161.0/24#PC用のファイルを指定
ErrorDocument 403 /error_m/pc.html
#error_mディレクトリには.htaccessを設置しdeny from allを記述これで許可しているIPアドレス以外は/error_m/pc.htmlを表示するのですが、トップページを/(スラッシュ)で終了したURLにアクセスするとapacheのテストページが表示されていました。
http://www.hoge.com/ → NG(テストページ表示)
http://www.hoge.com/index.html → OK
http://www.hoge.com/index.htm → OK
http://www.hoge.com/index.php → OKいろいろ調べたところ、/etc/httpd/conf.d/welcome.confにある以下の内容が影響してるよう。
<LocationMatch “^/+$”>
Options -Indexes
ErrorDocument 403 /error/noindex.html
</LocationMatch>これを全部コメントアウトします。
いらないらしいけど、一応バックアップは取っておいたほうが安心
これで、httpd再起動後、正常に動作するようになりました。
service httpd restart
- これで引越しも楽々簡単?
- 2009.10.27
引越しといってもサーバの引越しです。
プロバイダの無料スペースからレンタルサーバへ、またディレクトリ構造の変更やレンタルサーバ会社の乗り換え等ホームページのURLを変えなければならない場合が稀に発生します。
このような場合、皆さんはどうしているでしょう?
よく見る方法では「URLが変更になりました。」と記述して新しいURLを明記するか、何秒後かに自動的に切り替わるというパターンです。
変更されるページが少なければこれで問題ないかもしれませんが、数十ページ~数百ページに及ぶ引越し作業の場合は、全てのページに上記手法を記述する必要があります。
これでは大変な労力がかかってしまいますね。
こんなときに.htaccessを用いたリダイレクトを使えばとても簡単です。
.htacceeというとBasic認証なんかで一番利用することも多いと思いますが、他にもSEO対策に適したmod_rewriteや特定IPアドレスのアクセス拒否…等いろいろ出来るんです。今回は最近リダイレクト機能を使ったので、メモ代わりに記載しておきます。
今回はお問合せや申込みページでSSLを使用することになりURLがhttp://からhttps://に変更になりました。
<Files ~ “^.(htaccess|htpasswd)$”>
deny from all
</Files>
Redirect permanent /~user/old/sample/ https://www.mydomain.com/上記の例では1行目~3行目でセキュリティのため「.htaccess」と「.htpasswd」をブラウザで見れないようにしています。
4行目でhttp://旧ドメイン/~user/old/sample/へのアクセスは、https://www.mydomain.jp/contact/ へリダイレクトされます。ディレクトリ構造を保ったままリダイレクトされるのもこの方法の利点です。
.htaccess
