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になる理由 Webサービスの最前線で動作するApache HTTP サーバの初期設定

おすすめの記事

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

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

WordPressのサイトをHTTPS化して学ぶLet’s Encryptの使い方

WordPressのサイトをHTTPS化して学ぶLet’s Encryptの使い方

Google Adsenseで配信される詐欺的なサイトのブロック用URLまとめ

Google Adsenseで配信される詐欺的なサイトのブロック用URLまとめ

Windows 10でネットワークが不安定になった際の対策まとめ

Windows 10でネットワークが不安定になった際の対策まとめ

標準のアンインストーラーで消えないソフトを徹底的に削除する方法

標準のアンインストーラーで消えないソフトを徹底的に削除する…

WordPressでアイキャッチ画像をサムネイルとして一覧ページに表示する方法

WordPressでアイキャッチ画像をサムネイルとして一覧ページに表…

自前の国別IPv6、IPv4アドレス割当リストを作成しよう

自前の国別IPv6、IPv4アドレス割当リストを作成しよう

初めてでも理解できるようになる「Firefox機能拡張の開発」

初めてでも理解できるようになる「Firefox機能拡張の開発」


コメントを残す

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

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