
정규화(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의 제작자 방법을 추진하지 않습니다.