문제

Django가 만든 웹 사이트가 있습니다. 지역 작업 환경에서 URL에 따라 액세스 할 때 문제가 없습니다.

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

"C%23"은 "C#"의 urlencode이며 로컬에서 잘 작동합니다. 그러나 BlueHost 호스팅 서버 (APACHE+FASTCGI)에 배포 한 후이 URL은 다음과 같은 새로운 주소로 해결되었습니다.

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

너무 이상해. 아마도 Django의 문제는 아니지만 Apache URL의 재 작성과 관련이 있습니다. 이 문제를 해결하는 방법이나 제안이 있으면 알려주십시오. 미리 감사드립니다.

.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 캐릭터와 같은 다른 캐릭터와 함께 시도해 보셨습니까? 또한 슬래시를 제외한 23 %(슬래시 제외) 이후에 다른 캐릭터를 넣어 보았습니까?

한 가지 추측은 #이 현재 페이지의 앵커로 간주되면 # 및 후에 모든 것이 다시 쓰기에서 벗겨 질 것이라고 생각할 수 있습니다.

다른 팁

첫 번째 답변에 동의해야합니다. 그리고 Apache 구성에 액세스하지 않으면 운이 좋지 않을 수 있습니다. 'csharp'또는 그 정맥에 무언가를 사용하는 것이 갈 수있는 방법 일 수 있습니다.

# URI에서 특별한 의미가 / / 또는? 하다. 다른 기호와 함께이 문제가 있습니까? 궁극적으로 페이지의 앵커를 언급하지 않는 한 어쨌든 URI에 # 사인을 사용해서는 안됩니다.

http://httpd.apache.org/docs/2.2/rewrite/rewrite_guide.html

앵커 재 작성 섹션을 읽으십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top