XAMPPで.htaccessを利用すると500Errorになる理由


投稿日:2014年5月17日
  • 6
  • 0



Apache用の設定ファイルはhttpd.confだけではなかった

apache_xampp

XAMPPで.htaccessを利用すると500Errorになる場合の対処法を以前の投稿「WordPress、XAMPP、WindowsXPで.htaccessがエラーになる場合の対処法」で紹介しました。

Linux上でサーバを構築する際には必要のない設定がなぜXAMPPで必要なのか、腑に落ちなかったので調べてみました。


以前紹介した対処法

C:\xampp\apache\conf\httpd.conf」の最終行にて以下の記述をすると「.htaccess」が正常に認識されます。

<Directory C:/xampp/htdocs/xampp>
    AllowOverride All
</Directory>

そもそもAllowOverrideDirectoryディレクティブに対し、設定の上書きを許可するかどうかを指定するオプションです。
手っ取り早くAllowOverride Allとすると記述したディレクトリ以下で「.htaccess」を使ったアクセス制御が可能になります。

httpd.conf」を上から見ていくと、195行目あたり「<Directory />」にて一度「AllowOverride None」とされています。

その設定のすぐ後に「<Directory "C:/xampp/htdocs">」でAllowOverride Allが記述されているため、実質ドキュメントルートでの上書きを許可する形になっています。

その後ずっと下がって350行目あたり「<Directory "C:/xampp/cgi-bin">」にて再びAllowOverride Noneとなっているが、これはCGIプログラムのディレクトリなので通常のサイトには影響はないはずです。

以上でAllowOverrideに関する記述は終わリです。

ここである疑問が。
なぜ最終行にAllowOverride Allを書かないと.htaccessによる制御が行えないのか?

通常httpd.confの設定は下の行に記述すると上書きされます。そこで、どこかに怪しい挙動をする設定はないかなと1つ1つ見ていくと、460行目あたり気になる行を発見。

# XAMPP specific settings
Include "conf/extra/httpd-xampp.conf"

httpd-xampp.conf」の中を見てみると66行目あたりに以下の記述を発見

<Directory "C:/xampp/htdocs/xampp">
    <IfModule php5_module>
    	<Files "status.php">
    		php_admin_flag safe_mode off
    	</Files>
    </IfModule>
    AllowOverride AuthConfig
</Directory>

…こいつだ!

XAMPP用の設定ファイルがデフォルトで用意されているんですね。

XAMPPはサーバ環境を一括で設定するようになっていますが、やはりソフトごとに設定を理解しておかないと、いざという時に応用が効かないですね。

無事ここで「AllowOverride All」とすることで「.htaccess」が認識されるようになりました。


現在のページを共有する



現在のページに関連する記事

XAMPPで.htaccessを利用すると500Errorになる理由 XAMPPのApacheでエラーが出た際の対処法
XAMPPで.htaccessを利用すると500Errorになる理由 XAMPP1.8.2でCGIプログラムを実行する方法
XAMPPで.htaccessを利用すると500Errorになる理由 WordPress、XAMPP、WindowsXPで.htaccessがエラーになる場合の対処法
XAMPPで.htaccessを利用すると500Errorになる理由 最新のXAMPPをインストールし、安全・高速に運用する方法
XAMPPで.htaccessを利用すると500Errorになる理由 Apacheで拡張子が「.html」のファイル内でPHPを実行する方法
XAMPPで.htaccessを利用すると500Errorになる理由 XAMMP導入時にApacheのVirtualHostを設定する方法
XAMPPで.htaccessを利用すると500Errorになる理由 ロリポップ!で起きている大規模な改ざんからWordPressサイトを守る方法

おすすめの記事

Norikraの使い方をサンプルのクエリとイベントを交えて解説

Norikraの使い方をサンプルのクエリとイベントを交えて解説

FuckAdBlockを利用して自由自在にAdblock対策をする方法

FuckAdBlockを利用して自由自在にAdblock対策をする方法

シンプルなスパムコメント対策プラグイン「Simple AntiSpam」を作成しました

シンプルなスパムコメント対策プラグイン「Simple AntiSpam」を…

fluentdとNorikraでDoS攻撃を遮断し、メールで通知する方法

fluentdとNorikraでDoS攻撃を遮断し、メールで通知する方法

WordPressで手軽にAdblock対策するならBetter Stop AdBlockで決まり!

WordPressで手軽にAdblock対策するならBetter Stop AdBlockで決…

UWSCでPhotoshopの作業を自動化する方法

UWSCでPhotoshopの作業を自動化する方法

Adblock対策プラグイン「End of Adblock Cycle」を作成しました

Adblock対策プラグイン「End of Adblock Cycle」を作成しました

Windows 10を32bit版から64bit版に変更する方法

Windows 10を32bit版から64bit版に変更する方法


コメントを残す

コメントは認証制のため、すぐには反映されません。

プログラミングに関する質問は「日本語でプログラミングの悩みを解決するQ&Aサイト sukegra」をご利用ください。