NGINX 를 사용하도록 mydomain.com
하위 도메인 *.mydomain.com
을 리디렉션하려면 어떻게 www.adifferentdomain.com
해야합니까?
답변
server_name 은 .mydomain.com 구문을 사용하여 접미어 일치를 지원합니다.
server {
server_name .mydomain.com;
rewrite ^ http://www.adifferentdomain.com$request_uri? permanent;
}
또는 0.9.1 이상 버전 :
server {
server_name .mydomain.com;
return 301 http://www.adifferentdomain.com$request_uri;
}
답변
server {
server_name .mydomain.com;
return 301 http://www.adifferentdomain.com$request_uri;
}
http://wiki.nginx.org/HttpRewriteModule#return
과
http://wiki.nginx.org/Pitfalls#Taxing_Rewrites
답변
가능한 경우 다시 쓰기 모듈을 사용하는 이유는 return
무엇입니까? 기술적으로 말하면, 여기에서 읽을 수return
있듯이 다시 쓰기 모듈의 일부 이지만이 스 니펫은 읽기가 더 쉽습니다.
server {
server_name .domain.com;
return 302 $scheme://forwarded-domain.com;
}
301 리디렉션을 제공 할 수도 있습니다.
답변
HTTPRewriteModule을 통해 작동합니다 합니다.
www.example.com에서 example.com으로 다시 쓰는 예제 :
server {
server_name www.example.com;
rewrite ^ http://example.com$request_uri? permanent;
}
답변
“domain1.com”에 대한 요청을 “domain2.com”으로 리디렉션하려면 다음과 같은 서버 블록을 만들 수 있습니다.
server {
listen 80;
server_name domain1.com;
return 301 $scheme://domain2.com$request_uri;
}
답변
임시 리디렉션
rewrite ^ http://www.RedirectToThisDomain.com$request_uri? redirect;
영구 리디렉션
rewrite ^ http://www.RedirectToThisDomain.com$request_uri? permanent;
특정 사이트에 대한 nginx 구성 파일에서 :
server {
server_name www.example.com;
rewrite ^ http://www.RedictToThisDomain.com$request_uri? redirect;
}
답변
서버 {} 블록 내에 if 조건을 간단히 작성할 수 있습니다.
server {
if ($host = mydomain.com) {
return 301 http://www.adifferentdomain.com;
}
}