
我正在使用帶有 Nginx 的 CentOS 7。我想將所有非 www 網域轉換為“www”網域,例如,如果有人輸入“abc.example.com”,我希望將他們重定向到“www.example.com”。我試過這個
server {
listen 80;
server_name "~^(?!www\.).*";
return 301 $scheme://www.$host$request_uri;
}
在我的特定網站的設定檔中,但是如果有人輸入“abc.example.com”,他們會被重定向到“www.abc.example.com”。如何更正上述內容以替換而不是預先添加“www”?
答案1
如果您僅託管example.com
網域並希望將所有內容重新導向到www.example.com
,則應使用預設伺服器而不是正規表示式伺服器。
例如:
server {
listen 80 default_server;
return 301 $scheme://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
...
}
看這個文件了解更多。