FreeBSD で httpd.conf が壊れてしまいました
uname -a
FreeBSD ares 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan 1 14:37:25 UTC 2009 [email protected]:/usr/obj/usr/src/sys/GENERIC i386
私は apache-2.0.63_2 を実行しています。私が行ったことは、/home/user/public_html/.htaccess を変更し、Deny from ルールを追加して、Apache を再起動することです。
何かアイデアはありますか? これに関する既知のバグはありますか? 何か間違ったことをしましたか?
答え1
Apache は起動時に一度だけ設定ファイルを読み取ります。 に変更を加えた場合はhttpd.conf
、設定ファイルを変更したことと、ファイルを再読み込みする必要があることを Apache に伝える必要があります。これを行う 1 つの方法は、Apache を再起動することです。
上記の結果、Apache は、ユーザーが指示するまで (再起動など)、設定ファイルの変更に反応しません。Apache を最後に再起動した後、過去に何らかの理由で設定ファイルが変更 (ユーザーの言うように「破棄」) された可能性が高くなります。この状況では、次に Apache を再起動するまで、httpd.conf
変更の効果は確認できません。httpd.conf
答え2
httpd.conf が破損したということは、サイトが開かず 500 エラーが発生することを意味します。その場合は、.htaccess 構文に問題がある可能性があります。.htaccess ファイルに間違いがあると、そのディレクトリまたはそのサブディレクトリ内のすべてのページで 500 内部サーバー エラーが発生します。
しかし、httpd.conf が破損したということは、Apache がまったく起動しないことを意味します。その場合は、別の原因があります。他の同様のインストールから新しい httpd.conf をコピーして、Apache を起動してみてください。これが機能する場合は、古いファイルから新しいファイルに一度に数行追加して、どの行が問題を引き起こしているかを正確に見つけてください。