静的なDjangoファイルを提供するためにApacheを設定する際に問題があります。私は共有ホスト上にあり、Apache設定ファイルにアクセスできません。すべての例では、Apacheの設定ファイル内でAlias
を使用しています。したがって、私は.htaccessのmod_rewriteでそれを行う方法を理解しようとしています。今、私は現在、サブフォルダadmin
を有し、その/public_html/mydjangoproject/static
の下のフォルダを持っているように、私はターミナルでpython manage.py collectstatic
を実行し、それがそのことをした静的なdjangoファイルを提供するようにhtaccessを設定してください
STATIC_ROOT = '/home2/usr/public_html/mydjangoproject/static'
STATIC_URL = '/static/'
:
私のsetup.pyは、このようになりますコンテンツ。
私たちは強く を処理するためにdjango.contrib.staticfilesの使用をお勧めします:それはドキュメントhereに言うよう
は、今私は、ちょうどむしろmod_wsgiを経由するよりも、静的なファイルを提供するようにApacheを設定しようとしています(前の セクションで概説として、Webサーバと一緒に、これは にcollectstatic管理コマンドを使用することを意味、STATIC_ROOTの静的ファイルを収集、その後STATIC_URLでSTATIC_ROOTを提供するために、あなたのWeb サーバーの設定)管理ファイル
これを行うには、以下のように.htaccessファイルに3行目を追加しました。私は効果なしに、末尾のスラッシュとせずにライン3を試してみました
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteRule /static/ /home2/usr/public_html/mydjangoproject/static
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ mysite.fcgi/$1 [QSA,L]
注:このファイルは、/home2/usr/public_html/mydjangoproject/.htaccess
私の.htaccessファイルです。
私がwww.mysite.com/mydjangoproject/static/に行くと、私は500 Internal Server Errorを受け取ります。同様に、管理ページにはまだ必要なcssファイルがありません。どうしたの?
最後の行が答えでした!私は403 forbiddensでヒットし、アクセス許可とApache設定を修正しようとするウサギの穴に入った。 STATIC_URLをデフォルトから変更してください。 – Nate