2009-06-24 22 views
11

मैं mod_wsgi का उपयोग करके अपाचे पर चलाने के लिए अपने Django प्रोजेक्ट को कॉन्फ़िगर कर रहा हूं। मैं अपाचे पर निर्देशिका 'cflow' के नीचे Django चलाने का प्रयास कर रहा हूं, लेकिन रीडायरेक्ट के साथ समस्या में चल रहा हूं।Django Apache रीडायरेक्ट समस्या

मेरे अपाचे conf इस तरह दिखता है:

... 
WSGIScriptAlias /cflow "C:\Program Files\Apache Software Foundation\Apache2.2\wsgi\django.wsgi" 
<Directory "C:\Program Files\Apache Software Foundation\Apache2.2\wsgi"> 
    Order allow,deny 
    Allow from all 
</Directory> 
<Directory "C:\Projects\myproject\src"> 
    Order allow,deny 
    Allow from all 
</Directory> 

समस्या मैं में चल रहा हूँ कि यदि उपयोगकर्ता में लॉग इन नहीं कर रहा है, /cflow/somepage.html के लिए एक अनुरोध करने के लिए reidrected हो जाएगा/खातों/लॉगिन? अगले =/cflow/somepage.html। यह नया पता django रूट (cflow) से नीचे नहीं है, इसलिए अपाचे 404 नहीं मिला है।

मेरा सवाल यह है कि मैं Django रीडायरेक्ट्स को अपाचे पर अनुप्रयोग रूट निर्देशिका से नीचे मैप करने के लिए कैसे मैप कर सकता हूं? अर्थात। मैं/खाता/... पृष्ठ को इसके बजाय/cflow/accounts/... कैसे बना सकता हूं?

किसी भी मदद के लिए धन्यवाद।

उत्तर

15

इन्हें आज़माएं:

  1. बदलें मौजूदा डोमेन के लिए "yourdomain.tld/cflow" "sites" framework में। Django व्यवस्थापक या डंपडाटा/loaddata manage.py आदेशों का उपयोग करना आसान है।

  2. ऐसा लगता है कि आपकी साइट login_required सजावट का उपयोग कर रही है। उस विशेष मामले में आप settings.py को जोड़ सकते हैं:

    LOGIN_URL = '/ cflow/लेखा/लॉगिन /'

+3

धन्यवाद। मैं एक समाधान की उम्मीद कर रहा था जो Django ऐप के लिए पारदर्शी था। मैं एक पते/सर्वर पर साइट का परीक्षण करने और किसी भी अतिरिक्त कॉन्फ़िगरेशन के बिना किसी अन्य पर तैनाती करने में सक्षम होना चाहता हूं। हालांकि, मैं साइट ढांचे में देखता हूं। पारितोषिक के लिए धन्यवाद। – liminal

+1

मैंने सोचा कि यह अधिक सरल होगा, लेकिन यह निश्चित रूप से एक सही उत्तर है। मुझे एक ही समस्या थी और अंत में यह जवाब मिला। धन्यवाद एलेक्स! –

संबंधित मुद्दे