0

Apache と mod_wsgi を使用して実稼働環境で django をセットアップしました。すべてがうまくいっているようです。静的フォルダー (管理リソース用) へのアクセスを許可しましたが、サーバーは期待どおりに動作しています。

URL に一致しない Web ページを Django で表示しようとすると、奇妙なことが 1 つあります。この明らかな 404 に達したとき (私は今のところ DEBUG をオンにしています)。

この問題は、静的フォルダー内のディレクトリ一覧を無効にしたいという私の願望から生じています。

Options -Indexes 引数を追加しましたが、うまくいったようです。

唯一の問題は、Apache 書き換えエンジンが、リソース (またはリソースがフォルダー) を見つけられない場合、URL に 404.shtml を追加するように見えることです。しかし、追加という言葉は適切ではありません。代わりに、リクエスト URL の最後の 9 文字を 404.shtml に置き換えます。その後、私の Django 404 デバッグ画面が表示され、元のリクエストの無意味なバージョンが表示されます。

次に例を示します。

リクエスト URL: http://mobile.mywebsite.com/static/unknown_file

Django は以下を受け取ります。

ページが見つかりません (404) リクエスト方法: GET リクエスト URL: http://mobile.mywebsite.com/static/un/404.shtml

ただし、代わりに http://mobile.mywebsite.com/static/404.shtmlをリクエストすると

次に、同じテキストで上書きされるため、http://mobile.mywebsite.com/static/404.shtmlが表示されますが、明らかに変更されていません。

何か案は?

4

1 に答える 1

0

Apache 構成でカスタム http ドキュメントが定義されているようです。つまり、次のようなものです。

ErrorDocument 404 /un/404.shtml 
于 2012-04-25T21:17:30.000 に答える