Tenemos un sitio web creado por Django. Y no hay ningún problema en que el acceso siguiente url en el medio ambiente de trabajo local:Django problema de resolución de caracteres especiales en la url
http://site/tags/c%23/
"c% 23" es urlencode de "C#", que funciona bien a nivel local. Pero después de que implementarlo en Bluehost servidor de alojamiento (Apache + fastcgi), este URL se ha resuelto a una nueva dirección como esta:
http://site/t/tags/c/
Eso es demasiado extraño. Probablemente no sea un problema de Django, pero tenga algo que ver con la reescritura de la url de Apache . Si tiene alguna idea o sugerencia sobre cómo solucionar esto, hágamelo saber. Gracias de antemano.
Aquí está el archivo .htaccess pueden ser considerados:
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]
y el archivo 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: Si esto es causado por la configuración en httpd.conf, ¿Cómo puedo anular el archivo .htaccess mientras no tengo permiso para hacerlo?
Ningún problema encontrado hasta ahora para otros símbolos. # Es útil a veces en contexto como en stackoverflow, usamos esta url para expresar la etiqueta "C#": http: //stackoverflow.com/questions/tagged/c%23 – chagel