मुझे स्थिर Django फ़ाइलों को सेवा देने के लिए अपाचे सेट अप करने में समस्या हो रही है। मैं एक साझा मेजबान पर हूं और अपाचे कॉन्फ़िगरेशन फ़ाइलों तक पहुंच नहीं है। सभी उदाहरण Apache कॉन्फ़िगरेशन फ़ाइलों में Alias
का उपयोग करते हैं, इसलिए मैं यह पता लगाने की कोशिश कर रहा हूं कि .htaccess में mod_rewrite के साथ इसे कैसे किया जाए।स्थैतिक django फ़ाइलों को सेवा देने के लिए htaccess कॉन्फ़िगर करें
मेरे setup.py इस तरह दिखता है:
STATIC_ROOT = '/home2/usr/public_html/mydjangoproject/static'
STATIC_URL = '/static/'
मैं टर्मिनल में python manage.py collectstatic
भाग गया और वह अपने काम किया है, इसलिए अब यह है कि मैं /public_html/mydjangoproject/static
जो वर्तमान में सबफ़ोल्डर admin
और उसके है के तहत एक फ़ोल्डर है सामग्री।
अब मैं, अपाचे कॉन्फ़िगर करने के लिए बस नहीं बल्कि mod_wsgi माध्यम से जा रहा से स्थिर फ़ाइलों की सेवा के लिए कोशिश कर रहा हूँ के रूप में यह प्रलेखन here में कहते हैं:
हम दृढ़ता से संभाल करने django.contrib.staticfiles उपयोग करने की अनुशंसा व्यवस्थापक फ़ाइलें (वेब सर्वर पिछले अनुभाग में बताया गया के साथ, यह collectstatic प्रबंधन आदेश का उपयोग STATIC_ROOT, में स्टैटिक फ़ाइलें इकट्ठा करने और फिर अपने वेब सर्वर को कॉन्फ़िगर STATIC_URL पर STATIC_ROOT सेवा करने के लिए करने का मतलब है)
ऐसा करने के लिए, मैंने नीचे दिखाए गए .htaccess फ़ाइल में पंक्ति 3 जोड़ा। इस फ़ाइल में /home2/usr/public_html/mydjangoproject/.htaccess
मेरे .htaccess फाइल पर है:
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteRule /static/ /home2/usr/public_html/mydjangoproject/static
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ mysite.fcgi/$1 [QSA,L]
ध्यान दें कि मैं के साथ और स्लैश के बिना लाइन 3 की कोशिश की, कोई प्रभाव नहीं है।
जब मैं www.mysite.com/mydjangoproject/static/ पर जाता हूं तो मुझे 500 आंतरिक सर्वर त्रुटि प्राप्त होती है। इसी प्रकार, व्यवस्थापक पृष्ठ को अभी भी आवश्यक सीएसएस फ़ाइलों को नहीं मिल रहा है। क्या चल रहा है?
वह अंतिम पंक्ति उत्तर था! मुझे 403 प्रतिबंधों के साथ मारा गया है और अनुमतियों और अपाचे कॉन्फ़िगर को ठीक करने की कोशिश कर रहे एक खरगोश छेद में चला गया है। बस डिफ़ॉल्ट रूप से STATIC_URL को बदलना सुनिश्चित करें। – Nate