다중 도메인 정규화

다중 도메인 정규화

정규화(www 제거)하고 https를 적용하려는 두 개의 도메인이 있습니다.

그래서http://www.domain.io=>https://domain.io그리고http://www.도메인.ac=>https://도메인.ac

내가 본 바에 따르면 다음과 같이 작동하지만 TLD를 추출하는 방법을 찾을 수 없습니다.

server_name domain.io domain.sh;
return 301 https://$server_name$request_uri;

라이브 도메인은 모두 동일한 단어이므로 다음과 같이 일치할 수 있습니다.

(domain)(\.ac|\.io)

답변1

활용하시길 권해드립니다섬기는 사람블록:

server {
    server_name www.domain.io;
    return 301 https://domain.io$request_uri;
}

server {
    server_name www.domain.sh;
    return 301 https://domain.sh$request_uri;
}

이러한 구성은 성능/확장성 이유로 nginx 작성자가 권장하는 방식으로 구성 관리자가 있는 템플릿에서 쉽게 생성될 수 있습니다.


그러나 Richard Smith가 제안한 것처럼 다음에서 정규식을 사용할 수도 있습니다.서버 이름지령:

server {
    server_name ~^(?:www\.)?(?P<host_domain>.+)$;
    return 301 https://$host_domain$request_uri;
}

그러나 나는 개인적으로 그러한 방법을 권장하지 않으며 nginx의 제작자 방법을 추진하지 않습니다.

관련 정보