301 redirecionar de não-www para www para nginx

0

Estou usando o seguinte código em meu site para redirecionar 301 permanentes de domínio que não é www para domínio www. Meu servidor web é o nginx.

rewrite ^/([^&]*)&(.*)$ http://www.example.com/$1?$2 permanent;

Isso está funcionando bem apenas para um caso em que um usuário digita http://example.com , que é redirecionado para http://www.example.com

Mas quando um usuário digita por exemplo http://example.com/portal.php , então, ele não redireciona para http://www.example.com/portal.php

Como posso ter certeza de que todas as minhas páginas redirecionam para o domínio www?

    
por Frank Martin 07.09.2017 / 21:31

1 resposta

1

Isso geralmente é feito com um bloco de servidor diferente, sem necessidade de regex.

server {
  listen 80;
  server_name example.com;

  return 301 http://www.example.com$request_uri;
}

server {
  listen 80;
  server_name www.example.com;

  # Location blocks etc
}

Você pode adicionar blocos de servidores adicionais se quiser redirecionar https.

    
por 08.09.2017 / 03:03