2016-11-01 2 views
1

리디렉션하는 방법 "/ admin"으로 시작하는 url은 /admin/index.html (단일 페이지 응용 프로그램)로 리디렉션하고 /index.html (다른 단일 페이지 응용 프로그램) .Nginx 다중 "단일 페이지 응용 프로그램"라우팅

내 nginx.conf은 여기

location/{ 
    if ($allowed = "deny") { return 403; } 
    try_files $uri /index.html; 
} 

location /admin { 
    alias /usr/share/nginx/html/admin; 
} 

이 작동하지만, 멀티 레벨 URL이 503 오류로 리디렉션됩니다. - :

샘플 (503)

샘플 실패> 취득/관리/질문/1 : 취득/관리/질문 -> 실패 (503)

샘플 수/관리자 -> 확인을 나는 그것을 해결

+0

지금까지 내가 당신의 질문을 이해는 우려의 정규식하지 않습니다. 그리고 serverfault에 배치하는 것이 더 좋지 않을까요? – JosefScript

+0

모든 요청을 잡는 방법은 정규식을 사용하지 않고 "/ admin"으로 시작합니까? –

답변

0

.

default.conf :

root /usr/share/nginx/html; 
index index.html; 

    location ~ ^/admin {  
    try_files $uri /admin/index.html; 
    } 

    location/{  
    try_files $uri /index.html; 
    } 
+0

아직도 정규식 없이는 "위치/관리자 /"충분해야한다고 생각합니다. 그러나 어쨌든, 그것이 작동하는 경우 ... – JosefScript

+0

admin/index.html은 단일 페이지 응용 프로그램입니다. 페이지에 많은 경로 URL이 있습니다 (html5 라우팅). 서버에서 www.example.com/admin/questions/1/categories를 호출하면 admin/index.html 만 반환해야합니다. 클라이언트가이 관리 페이지를 가져 오면 클라이언트 측에서/questions/1/categories로 라우트하십시오. –

관련 문제