2016-07-03 3 views
0

의 하위 도메인의 내용을 표시합니다 블로그 하위 디렉토리에 아무것도 모두 샘플하위 디렉토리 내가이 처리 할 nginx를

blog.example.com => example.com/blog

blog.example.com/xxx => example.com/blog/xxx

하고 코드를 처리해야하는 블로그는 하위 도메인에 있습니다. 위의 그림과 같이 URL을 표시하고 싶습니다.

so. 하위 디렉토리에 하위 디렉토리를 전달 (URL을 변경하지 않고 리디렉션)하고 싶습니다.

거기에 nginx 구성을 수행 할 수 있습니까?

+0

질문에 대한 답변이 되었습니까? 그렇다면 && upvote를 수락하십시오. 그렇지 않은 경우 빠진 것이 무엇인지 명확히하십시오. – cnst

답변

0

NGINX 구성에서 다음을 수행 할 수 있습니다.

server { 
    listen 80; 
    server_name blog.example.com; 

    location/{ 
     return 301 $scheme://example.com/blog$request_uri; 
    } 
} 

server { 
    listen 80; 
    server_name example.com; 

    location /blog/ { 
     <your code goes here> 
    } 
} 

blog.example.com에 들어오는 요청을 받아 요청 된 URI 예와 함께 example.com/blog로 리디렉션합니다. proxy_pass에서 /이 (없이는 /blog 부분은 상류 요청에서 제거되지 않습니다) 매우 중요하다는 것을 blog.example.com/latestexample.com/blog/latest

+0

많은 답변을 주셔서 감사합니다. 나는 그것을 시도 할 것이다. 'example.com' 또는'example.com/xxx'은 어떨까요? 이러한 경로는 이전과 같이 정상적으로 작동합니까? – parisssss

+0

예, 정상적으로 작동합니다. 유일한 문제는 URL이 클라이언트 측에서 변경된다는 것입니다. –

0
location = /blog { 
    return 302 /blog/; 
} 
location /blog/ { 
    proxy_pass http://blog.example.com/; 
} 

참고로 리디렉션합니다.

두 개의 독립적 인 location 진술의 이론적 근거에 대한 자세한 내용은 https://serverfault.com/questions/562756/how-to-remove-the-path-with-an-nginx-proxy-pass/562850#562850에서 확인할 수 있습니다.

+0

@parisssss,이 대답으로 질문이 해결 되었습니까? 그렇다면 && upvote를 수락하십시오. 그렇지 않은 경우 빠진 것이 무엇인지 명확히하십시오. – cnst