2009-01-04 26 views
7

में विशेष वर्णों को हल करने की Django समस्या हमारे पास Django द्वारा बनाई गई एक वेबसाइट है।यूआरएल

http://site/tags/c%23/ 

"ग% 23" के "सी #", जो स्थानीय रूप से ठीक काम करता है urlencode है: और वहाँ कोई समस्या नहीं है जब स्थानीय काम के माहौल पर पहुँच इस यूआरएल है। लेकिन हम होस्टिंग सर्वर (अपाचे + FastCGI) Bluehost पर तैनात करने के बाद, इस URL ऐसा किसी नए पते पर हल किया गया है:

http://site/t/tags/c/ 

वह बहुत अजीब है। शायद यह Django की समस्या नहीं है, लेकिन अपाचे यूआरएल के पुनर्लेखन के साथ कुछ करने के लिए है। यदि आपके पास कोई विचार या सुझाव है कि इसे कैसे ठीक किया जाए तो कृपया मुझे बताएं। अग्रिम धन्यवाद।

यहाँ .htaccess फाइल विचार किया जा सकता है:

AddHandler fcgid-script .fcgi 
#AddHandler fastcgi-script .fcgi 
#AddHandler application/cgi .fcgi 
#AddHandler cgi-script .fcgi 
RewriteEngine On 
RewriteBase/
#static file setting 
RewriteRule ^(media/.*)$ - [L] 
RewriteRule ^(static/.*)$ - [L] 
RewriteCond %{REQUEST_URI} !(dispatch.fcgi) 
RewriteRule ^(.*)$ dispatch.fcgi/$1 [L] 

और dispatch.fcgi फ़ाइल:

#!/home/***/python/bin/python 
import sys, os 
# Add a custom Python path. 
sys.path.insert(0, "/home/***/python") 
sys.path.insert(0, "/home/***/working/Django-1.0") 
os.chdir("/home/***/working/Django-1.0/project") 
os.environ['DJANGO_SETTINGS_MODULE'] = "project.settings" 
from django.core.servers.fastcgi import runfastcgi 
runfastcgi(["method=threaded", "daemonize=false"]) 

UPDAET: इस httpd.conf में सेटिंग के कारण होता है, मैं .htaccess फ़ाइल में ओवरराइड कैसे कर सकता हूं जबकि मुझे इसकी अनुमति नहीं है? इस तरह के एक अंतरिक्ष (20%) या एक उच्चारण चिह्न ASCII वर्ण के रूप में

आप अन्य पात्रों के साथ की कोशिश की है:

उत्तर

5

बस कुछ सुझाव आगे जाने से पहले? साथ ही, क्या आपने% 23 (स्लैश के अलावा) के बाद अन्य पात्रों को डालने का प्रयास किया है ताकि यह देखने के लिए कि क्या वे भी छीन रहे हैं?

एक अनुमान यह हो सकता है कि # को वर्तमान पृष्ठ पर एंकर के रूप में माना जाता है, # और जो कुछ भी बाद में पुनर्लेखन में छीन लिया जाएगा।

1

मुझे पहले जवाब से सहमत होना होगा - और अपाचे कॉन्फ़िगरेशन तक पहुंच के बिना, आप भाग्य से बाहर हो सकते हैं। 'सीएसएचआरपी' या उस नस में कुछ का उपयोग करने का तरीका हो सकता है।

1

# यूआरआई में विशेष अर्थ है, या/या? कर देता है। क्या आपके पास अन्य प्रतीकों के साथ यह समस्या है? आखिरकार, आपको किसी यूआरआई में # साइन का उपयोग नहीं करना चाहिए, जब तक कि आप पृष्ठ पर एंकर का जिक्र नहीं कर रहे हों।

+0

अन्य प्रतीकों के लिए अब तक कोई समस्या नहीं मिली है। # कभी-कभी स्टैक ओवरफ्लो जैसे संदर्भ में उपयोगी होता है, हम इस यूआरएल का उपयोग "सी #" टैग को व्यक्त करने के लिए करते हैं: http: //stackoverflow.com/questions/tagged/c%23 – chagel