nginx redireciona para www.domain

4

Eu quero redirecionar o site SEMPRE para www.site.com. No entanto, não tenho certeza de como fazer com que a WWW sempre apareça na frente deve dizer que alguém digite o domínio sem o www.

EDITAR:

server {
        listen  80;
        server_name  site.com;
        rewrite ^(.*) https://www.site.com$1 permanent;
}

server {
    listen       80;
    server_name  www.site.com;
    #rewrite ^(.*) https://www.site.com$1 permanent;
    root /home/site/public_html;

        listen       443 ssl;

Se eu digitar no site.com, ele vai para https://www.site.com = SUCCESS

Se eu digitar site.com/index.php, ele vai para http://www.site.com = NO SSL

Idéias?

    
por Jake Thomas 23.04.2013 / 23:14

2 respostas

2

Você está fazendo isso da maneira mais difícil. Aqui está o caminho mais fácil.

server {
    listen 80;
    server_name  example.com;
    rewrite ^(.*) http://www.example.com$1 permanent;
}

server {
    listen 80;
    server_name  www.example.com;
    #The rest of your configuration goes here#
}
    
por 23.04.2013 / 23:20
11

Use melhor return em vez de rewrite , porque é mais rápido

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

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

Dessa forma, também enviamos ao cliente um código de status adequado, para que ele pergunte ao domínio correto na próxima solicitação.

    
por 24.04.2013 / 06:09