5

これは、私がこれまでに読んだほとんどの問題とは正反対の問題です。Amazon インスタンスで Apache 2.2.8 を使用して Ubuntu 8.04 を実行していますが、root の AllowOverride を None に設定しても .htaccess ファイルが含まれない理由がわかりません。

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

使用可能なサイト (サイト対応にリンクされている) の 1 つで、ルート ディレクトリに "AllowOverride None" があります。これにより、ルートとそのすべてのサブディレクトリから .htaccess が含まれなくなり、hello.py が mod_python によって提供されなくなると考えました。ただし、引き続き問題なく提供され、.htaccess を変更するとブラウザーに結果が表示されるため、.htaccess がまだ含まれていることをテストできます。

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

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

助けてくれてありがとう。

4

2 に答える 2

3

.htaccess を削除したときにファイルが mod_python 経由で提供されない理由は、mod_python のセットアップがその中にあるためです。それらのものをサイトで利用可能なファイルに移動すると、.htaccess を削除し、問題に目をつぶって、1 日と呼ぶことができます。

それがあなたを満足させないなら、なぜ .htacess がまったく読まれているのか、私には言えません。AllowOverride Noneがファイルの読み取りを防止する必要があることは正しいです。仮想サイトを追加するときに何かを台無しにした可能性を考慮しましたか? 構成にガベージを投げてみて、それが不平を言うかどうかを確認してください。それがまったく読み取られていることを確認してください。

于 2009-03-03T16:01:43.633 に答える
2

AllowOverride<Directory>-sections でのみ許可されているため、すべてが正しく行われています。

発生する可能性のある問題の 1 つは、他の (サブ)セクションが とは異なるものに<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(私のdocroot)では.htaccessesを使うことができます。

mod_pythonを削除すると機能しなくなる理由.htaccessは、mod_pythonセットアップが通常.htaccessファイルにあるためです。

さらに詳しい情報が必要な場合は、構成をお送りください。

PS: 実際、上記のドキュメントには、 にないものを設定してはいけないと書かています。AllowOverrideNone<Directory />

于 2009-03-03T15:37:58.400 に答える