本サイト/記事は移転しました。

約10秒後にリダイレクトします。

.htaccessが効かなくなっていた

 メインのhttp://kazz.pwphpが動かず500 Internal Server Errorが出ていた。いろいろと試していたら.htaccessが原因のようで、リネームしたら動くようになった。
 さらに名前を元に戻して全部コメントアウトしても動く。コメントアウトを外すとエラーになる。エラーファイルを見るとFiles not allowed hereと。しかしVirtualHostディレクティブ内のディレクトリディレクティブ内にはAllowoverride ALLと書いてある。ドメイン名とディレクトリ以外は全く同じVirtualHostディレクトリ設定にしている旧ドメインhttp://kazz.mine.nuの方はエラーが出ていない。

 となると結論としてはVirtualHostディレクティブ外のディフォルトの設定が優先されているということ。
 この時点ではディフォルトではAllowoverride ALLの設定がされていなかったので、ディレクトリディレクティブを作って設定してみる。エラーは出ない。
 次にディフォルトのサーバ名、ドキュメントルール、上記のディレクトリディレクティブをコメントアウトしてみる。これもエラーなし。ただし起動時にapacheが「サーバ名が設定されてへんで」とウォーニングを出す。

 ディフォルトサーバでもVirtualHostを設定しなければならないということはディフォルトは飾りかと思っていたけど、設定してしまうと同名のVirtualHostのディレクティブ内より優先される設定もあるってことか。