1

私が抱えている問題は、ルート urls.py ファイルの urlpattern をコメントアウトし、プロセスを強制終了して index.fcgi ファイルに触れてサーバーを再起動すると (Hostgator 共有ホスティングで fastCGI を使用)、404 が返されることです。予想通りのエラー (URL が一致しなくなったため) ですが、Django が 404.html テンプレートを処理して送信すると、静的ファイルなどのない単なる HTML のみが返されます。

ただし、コメントアウトした urlpatterns に一致するもの以外の他の URL を試すと (もちろん、現在アクティブなパターンに一致するものを除く)、すべての適切な CSS を含む完全にレンダリングされた 404 ページが表示されます。

すべての静的ファイルは現在 ~/public_html/ にあります。これは明らかに、Web サーバー (私が制御できない) がそれらを探す場所だからです。

Django(またはWebサーバー)が静的ファイルを見つけることができる場合と、そうでない場合がある理由がわかりません...

皆様のアイデアをお待ちしております。

4

1 に答える 1

2

確認のために...少なくとも2つの異なる404ページがあることを知っています.1つはURLがWebサーバー構成で定義されていないときにWebサーバーが返すページで、もう1つはWebサーバーがハンドオフしたときにDjangoによって返されるページです. Django へのリクエストですが、urls.py は URL に一致するパターンを定義していませんか?

そのことを認識しており、ブラウザに表示される静的コンテンツを含む 404 ページと含まない 404 ページの両方が Django によって提供されている場合は、静的コンテンツを取得するためにブラウザが送信するリクエストを確認することをお勧めします。これは、Chrome、Safari、Firefox のデバッグ コンソールで実行できます。そこでは、リクエスト (おそらく URL) の違いを確認できるため、Web サーバーは一方の静的コンテンツを返しますが、他方の場合は返しません。

于 2013-07-19T10:49:55.710 に答える