
Estou usando o CentOS 7 com Nginx. Quero converter todos os domínios não www em domínios "www", por exemplo, se alguém inserir "abc.example.com", gostaria que eles fossem redirecionados para "www.example.com". Eu tentei isso
server {
listen 80;
server_name "~^(?!www\.).*";
return 301 $scheme://www.$host$request_uri;
}
no meu arquivo de configuração específico do site, mas o que acontece é que se alguém inserir "abc.example.com", será redirecionado para "www.abc.example.com". Como posso corrigir o acima para substituir em vez de pré-anexar "www"?
Responder1
Se você está hospedando apenas example.com
um domínio e deseja que tudo seja redirecionado para www.example.com
, você deve usar um servidor padrão em vez de um servidor de expressão regular.
Por exemplo:
server {
listen 80 default_server;
return 301 $scheme://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
...
}
Veresse documentopara mais.