2013-02-22 4 views
0

У меня есть 'www.domain.com' и хотите всегда переписать его 'domain.com' (доступен только через/порт 80)Nginx: NonWWW (80) и переписать один поддомен (443)

Я также хотел добавить субдомен, такой как «c.domain.com», всегда переписанный (и доступен только) до «https://c.domain.com», но я действительно не знаю, как сделать еще одну перезапись, когда у меня есть это для WWW-> NonWWW.

Это мой конфиг:

ssl_certificate /etc/nginx/certs/server.crt; 
ssl_certificate_key /etc/nginx/certs/server.key; 

server { 
     listen      80; 
     server_name    www.domain.com; 
     # redirect www to non-www 
     rewrite     ^/(.*) http://domain.com/$1 permanent; 
} 



server { 
     listen      80; 
     server_name    domain.com; 
     root      /usr/share/nginx/$host; 
     index      index.php index.html index.htm; 

     location/{ 
       try_files   $uri $uri/ /index.php?$args =404; 
       #try_files   $uri $uri/; 
     } 

     # PHP-FPM 
     location ~* \.php$ { 
       try_files   $uri =404; 
       include   fastcgi_params; 
       fastcgi_pass  unix:/var/run/php5-fpm.sock; 
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
       fastcgi_param  SCRIPT_NAME   $fastcgi_script_name; 
     } 

} 

server { 
    listen   443 default_server ssl; 
    server_name  c.domain.com; 
    root      /usr/share/nginx/$host; 
    index      index.php index.html index.htm; 

} 

Заранее спасибо!

ответ

1
server { 
    listen  80; 
    server_name www.domain.com; 

    return 301 http://domain.com$request_uri; 
} 

server { 
    listen  80; 
    server_name domain.com; 

    [...] 
} 

server { 
    listen  80; 
    server_name c.domain.com; 

    return 301 https://c.domain.com$request_uri; 
} 

server { 
    listen  443 default_server ssl; 
    server_name c.domain.com; 

    [...] 
} 

Документация:

+0

Спасибо за объяснение! – user2100304

Смежные вопросы