nginx에서 www가 아닌 ​​도메인을 교체하는 데 문제가 있습니다.

nginx에서 www가 아닌 ​​도메인을 교체하는 데 문제가 있습니다.

Nginx와 함께 CentOS 7을 사용하고 있습니다. www가 아닌 ​​모든 도메인을 "www" 도메인으로 변환하고 싶습니다. 예를 들어 누군가 "abc.example.com"을 입력하면 "www.example.com"으로 리디렉션되고 싶습니다. 나는 이것을 시도했다

server {
  listen 80;
  server_name "~^(?!www\.).*";
  return 301 $scheme://www.$host$request_uri;
}

내 사이트별 구성 파일에 있지만 대신 누군가가 "abc.example.com"을 입력하면 "www.abc.example.com"으로 리디렉션됩니다. "www"를 앞에 추가하는 대신 위의 내용을 수정하여 바꾸려면 어떻게 해야 합니까?

답변1

도메인 만 호스팅 example.com하고 모든 것을 으로 리디렉션하려면 www.example.com정규식 서버가 아닌 기본 서버를 사용해야 합니다.

예를 들어:

server {
    listen 80 default_server;
    return 301 $scheme://www.example.com$request_uri;
}
server {
    listen 80;
    server_name www.example.com;
    ...
}

보다이 문서이상.

관련 정보