와일드카드 www를 www가 아닌 ​​리디렉션 nginx로 변경

와일드카드 www를 www가 아닌 ​​리디렉션 nginx로 변경

모든 트래픽을 다음에서 리디렉션하고 싶습니다.

www.*.*.<gTLD> 에게 *.*.<gTLD>

가능하다면 애플리케이션을 제공하는 블록 외부에서 해당 작업을 수행하고 싶습니다. 이 블록은 server_name동일한 앱에서 5,000개 이상의 호스트 이름을 수신하기 때문에 a를 사용하지 않습니다 .

그것을 달성하는 방법에 대한 아이디어가 있습니까? 내가 찾은 모든 예는 명명된 호스트에만 해당됩니다....

감사합니다

답변1

server정규식을 사용하여 블록을 정의할 수 있습니다 server_name. 예를 들어:

server {
    server_name ~^(www\.)(?<domain>.+)$;
    return 301 $scheme://$domain;
}

보다이 문서이상.

답변2

@Richard Smith의 도움으로 다음과 같은 결과를 얻었습니다.

server {
    server_name ~^(www\.)(?<domain>.+\..+\..+)$;
    return 301 $scheme://$domain;
}

잘 작동한다 :-)

관련 정보