Nginx · 8 10 月, 2024

nginx 怎麼設置 301 重定向

nginx 怎麼設置 301 重定向

在網站管理中,301 重定向是一個非常重要的功能。它不僅能夠幫助網站管理員有效地管理網站的 URL 結構,還能夠保留 SEO 排名,避免因為 URL 變更而造成的流量損失。本文將詳細介紹如何在 nginx 中設置 301 重定向。

什麼是 301 重定向?

301 重定向是一種永久性重定向,告訴搜索引擎和用戶,某個 URL 已經永久移動到另一個 URL。這種重定向對於網站的 SEO 非常重要,因為它能夠將原 URL 的權重轉移到新 URL,從而保持網站的搜索引擎排名。

nginx 的基本配置

在設置 301 重定向之前,首先需要確保 nginx 已經安裝並運行。可以通過以下命令檢查 nginx 的狀態:

sudo systemctl status nginx

如果 nginx 尚未安裝,可以使用以下命令進行安裝:

sudo apt update
sudo apt install nginx

設置 301 重定向的步驟

1. 編輯 nginx 配置文件

nginx 的配置文件通常位於 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/default。使用文本編輯器打開配置文件,例如:

sudo nano /etc/nginx/sites-available/default

2. 添加重定向規則

在 server 區塊中添加以下代碼來設置 301 重定向:

server {
    listen 80;
    server_name www.old-domain.com;

    return 301 https://www.new-domain.com$request_uri;
}

在這段代碼中,將 www.old-domain.com 替換為需要重定向的舊域名,www.new-domain.com 替換為新的域名。$request_uri 變量將保留原始請求的 URI,確保用戶能夠訪問正確的頁面。

3. 測試配置文件

在保存配置文件後,使用以下命令測試 nginx 配置是否正確:

sudo nginx -t

如果配置正確,將顯示 syntax is oktest is successful 的消息。

4. 重新加載 nginx

最後,重新加載 nginx 以使更改生效:

sudo systemctl reload nginx

常見的 301 重定向示例

  • 從 HTTP 重定向到 HTTPS:
    server {
                listen 80;
                server_name www.example.com;
                return 301 https://www.example.com$request_uri;
            }
  • 將 www 重定向到非 www:
    server {
                listen 80;
                server_name www.example.com;
                return 301 https://example.com$request_uri;
            }
  • 將舊頁面重定向到新頁面:
    server {
                listen 80;
                server_name www.example.com;
                location /old-page {
                    return 301 /new-page;
                }
            }

總結

設置 301 重定向在網站管理中是必不可少的,特別是在進行網站重構或更改域名時。通過 nginx 的簡單配置,您可以輕鬆實現這一功能,並確保網站的 SEO 排名不受影響。如果您需要更多有關 香港 VPS 或其他伺服器解決方案的信息,請訪問我們的網站以獲取更多資源。