2013-10-20 1 views
1

현재 서브 도메인 라우팅을위한 새로운 개념 인 모듈을 사용하고 있습니다. 스타일 시트와 이미지 같은 정적 리소스가 "기본"모듈에만로드되고 "관리"모듈은로드되지 않는 것만 제외하면 모두 잘 작동합니다.appengine의 정적 디렉토리 관리 dispatch.yaml을 사용하는 모듈

기본 모듈의 YAML 파일, 애플리케이션 제목은 다음과 같습니다 -

application: check4se 
    version: v1 
    runtime: python27 
    api_version: 1 
    threadsafe: true 

    automatic_scaling: 
    max_idle_instances: 20 

    handlers: 


    - url: /stylesheets 
    static_dir: stylesheets 
    expiration: "1s" 

    - url: /images 
    static_dir: images 
    expiration: "1s" 

    - url: /js 
    static_dir: js 


    - url: .* 
    script: Main2.app 

    libraries: 
    - name: jinja2 
    version: latest 

다음과 같이 모듈 관리에 대한 나의 admin.yaml은 다음과 같습니다 -

 application: check4se 
    module: admin 
    version: v1 
    runtime: python27 
    api_version: 1 
    threadsafe: false 

    automatic_scaling: 
    min_idle_instances: 2 

    handlers: 

    - url: .* 
     script: admin.app 


    - url: /_ah/login_required 
     script: do_openid_login.py 

I가 dispatch.yaml을 사용하고 있습니다 모든 정적 리소스를 기본 모듈로 라우팅하십시오. -

 application: check4se 

     dispatch: 


     - url: "admin.check4se.appspot.com/*" 
     module: admin 

     - url: "*/images" 
     module: default 

     - url: "*/stylesheets" 
     module: default 

     - url: "*/js" 
     module: default 

문제점 및 해결 방법은 무엇입니까?

답변

3

admin.yaml의. * 처리기가/_ah/login_required 경로와 일치하므로/_ah/login_required 경로가 결코 일치하지 않으며 do_openid_login.py를 호출하지 않는다고 생각합니다.

대신,. * 처리기 앞에/_ah/login_required 처리기를 넣으십시오.

application: check4se 
module: admin 
version: v1 
runtime: python27 
api_version: 1 
threadsafe: false 

automatic_scaling: 
min_idle_instances: 2 

handlers: 

- url: /_ah/login_required 
    script: do_openid_login.py 

- url: .* 
    script: admin.app 

또한, 당신은 어떤 관리자 자원과로 이동합니다 관리 도메인에 첫 번째 또는 아무것도를 정적 자원 경로를 넣어 할 수 있습니다

dispatch.yaml와 유사한 문제가 될 수있다 디폴트의 ​​자원

application: check4se 

    dispatch: 

    - url: "*/images" 
    module: default 

    - url: "*/stylesheets" 
    module: default 

    - url: "*/js" 
    module: default 

    - url: "admin.check4se.appspot.com/*" 
    module: admin 
+0

죄송합니다. 해결책을 찾았습니다. 질문을 닫는 것을 잊어 버렸습니다. 답변을 주셔서 감사합니다. 정확하게 그랬습니다. – 404