Linux

nginx 重定向到 www.domain

  • March 11, 2021

我想始終將站點重定向到 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= SUCCESS

如果我輸入 site.com/index.php 它會轉到http://www.site.com= NO 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;
   [...]
}

這樣,我們還向客戶端發送了一個正確的狀態碼,以便他在下一個請求中請求正確的域。

引用自:https://serverfault.com/questions/502026