2009-03-03 16 views
5

これは、ほとんど私が読んだこととは反対の問題です。 Apache 2.2.8でAmazonインスタンスでUbuntu 8.04を実行していて、AllowOverrideをNoneに設定しても、.htaccessファイルが含まれなくなったのはなぜですか?Apacheで.htaccessを無効にできないのはなぜですか?

私はそれにhello.pyと.htaccessファイルを持つサブディレクトリを持っています。ファイルを参照すると、ファイルを扱うmodpythonで正常に動作します。もし私が.htaccessにいくつかのゴミを入れたら、サーバーエラーが発生するので、.htaccessファイルが使用されていることがわかります。また、.htaccessファイルを削除した場合、hello.pyはmodpythonによってサーバーされなくなりました。代わりにブラウザがそのファイルを開こうとします。

私のサイトのうちの1つ(サイト対応でリンクされています)では、ルートディレクトリに「AllowOverride None」があります。私はこれが.htaccessがrootとそのすべてのサブディレクトリからインクルードされることを防ぎ、hello.pyにmod_pythonがサービスを提供しないようにすると考えました。しかし、それはうまく提供され続けます。私はそれを変更すると私のブラウザに結果が表示されるので、.htaccessがまだ含まれていることをテストできます。

おそらく、私のサイトのファイルについて理解できないことがあります。これは私が使用しているファイルです:

NameVirtualHost *:8080 
<VirtualHost *:8080> 
<Directory /> 
AllowOverride None 
</Directory> 
</VirtualHost> 

ありがとうございました。

+0

AllowOverrideは、.htaccessファイルを読み込まないようにする必要がありますが、設定にはmod_python(つまり、AddHandler mod_python .py)は何も含まれていません。 .htaccessファイルには何が入っていますか? – Pesto

+0

。htaccessファイル: のAddHandler mod_pythonのの.py PythonHandler mptestの PythonDebug オンとmptest.pyで: mod_pythonのインポートのapacheから デフハンドラ(REQ): req.log_error( 'ハンドラ') req.content_type =「テキスト/ plain ' req.send_http_header() req.write( "Hello World!") return apache.OK – Mitch

答えて

3

.htaccessを削除したときにファイルがmod_pythonで処理されないのは、mod_pythonの設定がその中にあるからです。あなたのサイトに利用可能なファイルを移動すると、.htaccessを削除し、問題に目を向けることができ、それを1日と呼びます。

それがあなたを満足させないなら、.htacessが全く読まれない理由については、私は言うことができません。あなたは正しいですAllowOverrideなしは、これまでのファイルの読み取りを防止する必要があります。あなたは、仮想サイトを追加するときにあなたが何かをねじった可能性を考えましたか?設定にいくつかのゴミを投げて、それがまったく読まれているかどうかを確認するためにそれが文句を言うかどうかを見てください。

+0

問題は私の仮想ホストにあると思います。 AllowOverrideを含むDirectoryタグをVirtualHostタグの外に移動すると、期待通りに動作します.htaccessは含まれません。これを提案していただきありがとうございます。 – Mitch

2

AllowOverride<Directory>セクションでのみ許可されていますので、すべてを正しく行ったことがあります。

他の(サブ)<Directory>セクションは、AllowOverrideNoneと異なるものに設定している可能性があります。これにより、これらのサブディレクトリの設定が上書きされます。 私は

<Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
</Directory> 
<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride AuthConfig 
    Order allow,deny 
    allow from all 
</Directory> 

/var/www(私のドキュメントルート)に使用私は.htaccess ESを使用することができます。あなたは.htaccessを削除した場合mod_pythonはもう動作しない理由を

理由は、mod_pythonセットアップが.htaccessファイルに通常であるということです。

詳細が必要な場合は、設定をお送りください。

PSは:実際には上記のリンクdocuementationあなたが<Directory />ではない何かにNoneAllowOverrideを設定することはありませんべきであると述べています。

関連する問題