2012-06-05 2 views
1

같은 상대 URL를 제공하기 위해어떻게 cherrypy 아파치

내가 htdocs에 다음과 같은 디렉토리 구조를 가지고 말 (이것은 윈도우 파일 시스템에) : \ ABC \ htdocs를 내 index.html을은 특별한 CONFIGS와 /picture.jpg 및 /js/somescript.js에 액세스 할 수 있습니다 아파치와

<html> 
    <head> 
     <title>Apache vs Cherrypy Test</title> 
     <script type="text/javascript" src="/js/somescript.js"></script> 
    </head> 
    <body> 
     <img src='/picture.jpg' /> 
    </body> 
</html> 

은, 난 그냥 다 내 httpd.conf 파일의 DocumentRoot를 가리 킵니다.
다른 말로하면, 내 HTML은 사용자 지정 서버 구성이없는 상대 URL을 참조 할 수 있습니다.

이제 체리 피 땅으로 전환하십시오. 내 index.html을 봉사하는 cherrypy를 얻을 수 있지만, (404)에게 .JPG에의를 얻을 수있어 및
단순히 모든 htdocs에 상대 요청 된 파일을 제공하기 위해 cherrypy의 원인이 몇 가지 방법이 있나요 파일
된 .js (예 : /picture.jpg 및/또는 /js/somescript.js) 각 파일 및/또는 htdocs 하위 디렉토리에 대한 명시적인 config 항목을 만들 필요없이?

나는이 같은 간단한 설정 만들 수있을 것으로 예상 한 것

:

[/] 
tools.staticfile.root = "c:\abc\htdocs" 

다음 /picture.jpg 및 /js/somescript.js에 대한 액세스를 허용,하지만 그 아무튼 ' t 작품.
cherrypy가 config에 파일 별 항목을 제공해야 할 필요없이 "와일드 카드"상대 URL을 제공하도록 지시하는 간단한 방법이 있습니까?

답변

0

정적 파일은 한 번에 하나씩 개별 파일 용입니다. 대신 staticdir을 시도하십시오. 걸릴 수있는 구성 매개 변수에 대해서는 http://docs.cherrypy.org/dev/refman/lib/static.html#cherrypy.lib.static.staticdir을 참조하십시오. 주위를 훑어 보는 동안 "tools.staticdir.debug = True"로 설정하는 것이 좋습니다. 그것을 사용하는 것에 관한 약간의 산문을 위해 http://docs.cherrypy.org/dev/progguide/files/static.html#serving-files-through-the-staticdir-tool를 보라.

+0

죄송 합니다만 이것은 도움이되지 않습니다. 특히, 두 번째 링크는 내가 가지고있는 문제를 정확히 설명하지만 (404) 문제를 해결하는 방법에 대해서는 밝히지 않았습니다. 다시 말하지만, config에서 하나의 dir을 내 docroot로 설정하고 cherrypy가 상대 경로를 사용하도록하고 싶습니다. 왜 이렇게 어려운가요? – dlchambers

+0

상세 검색 : 두 번째 링크는 특정/css 및/js 구성 항목을 사용하여 나가려고하는 것과 정확히 일치하는 것을 채용 할 것을 제안합니다. – dlchambers

+0

@dlchambers 당신은'static/js, static/css, static/images'와 같은 설정과 같은 정적 디렉토리를 갖고 싶지 않다.'[/ static] tools.protect.on = False tools.staticdir.on = True tools.staticdir.dir = '/ webroot/static'' – cyraxjoe