我們有一個由Django製作的網站。還有就是當對當地的工作環境訪問 以下網址沒問題:解決url中特殊字符的Django問題
http://site/tags/c%23/
「C%23」是「C#」,在本地工作正常進行urlencode。 但是經過我們對BlueHost的部署託管服務器(Apache的FastCGI的+),該網址已經被解析到一個新的地址是這樣的:
http://site/t/tags/c/
這太不可思議。可能它不是Django的問題,但與 Apache網址的重寫有關。如果你有任何想法或建議如何解決這個問題,請讓我知道。 在此先感謝。
這裏是.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文件中重寫,而我沒有權限?前
到目前爲止沒有發現任何問題,其他符號#有時在上下文中很有用,就像在stackoverflow上一樣,我們使用這個URL來表示「c#」標記:http://stackoverflow.com/questions/tagged/c%23 – chagel 2009-03-19 20:13:52