常にサイトをwww.site.comにリダイレクトしたい。ただし、WWWを常に前面に表示する方法については、誰かがwwwなしでドメインに入力すると言うべきかどうかはわかりません。
編集:
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;
Site.comと入力するとhttps://www.site.com
=成功
Site.com/index.phpと入力すると、http://www.site.com
= SSLなし
アイデア?
あなたはそれを難しい方法でやっています。これが簡単な方法です。
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#
}
return
の代わりにrewrite
を使用する方が高速です。
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
server {
listen 80;
server_name www.example.com;
[...]
このようにして、クライアントに適切なステータスコードを送信し、次のリクエストで正しいドメインを尋ねるようにします。