2017-04-08 18 views
1

와일드 카드 하위 도메인을 사용하는 서버 블록 (예 : * .example.com)이 있습니다. 다른 모든 요청을 정상적으로 처리하면서 단일 하위 도메인의 단일 페이지를 다른 페이지로 리디렉션해야합니다. 이것을 처리하는 가장 효율적인 방법은 무엇입니까?와일드 카드 하위 도메인을 사용하는 동안 Nginx 단일 하위 도메인의 단일 페이지 리디렉션

서버 블록은 다음과 같이 보입니다 :

server { 
    listen 80; 
    server_name *.example.com; 
    .... 
} 

을 그리고이 동작이 필요합니다

http://baseball.example.com/test.php ->http://baseball.example.com/new-page

http://football.example.com/test.php -> 없음 리디렉션을

http://basketball.example.com/test.php -> 어떤 리디렉션

답변

1

처리 관점에서 볼 때 가장 효율적인 방법은 특별한 경우에 대해 별도의 server 블록을 만드는 것입니다. 대부분의 구성이 두 서버 블록에서 동일하기 때문에 include 문을 사용하여 별도의 파일에서 읽을 수 있습니다. 예를 들어

:

server { 
    listen 80; 
    server_name *.example.com; 
    include /path/to/common.config; 
} 
server { 
    listen 80; 
    server_name baseball.example.com; 
    location = /test.php { 
     return 301 /new-page; 
    } 
    include /path/to/common.config; 
} 

은 이상 this document를 참조하십시오.

+0

좋은 생각, 이것이 최선의 선택이라고 생각합니다. 팁 고마워! – Jeff