Nginx
在 nginx 中替換非 www 域時遇到問題
我正在使用帶有 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”?
如果您只是託管
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; ... }
有關更多資訊,請參閱此文件。