解決 Nginx 下修改 WordPress 固定連結後導致文章跳出404

最近為了因應網站功能的改版,在測試伺服器進行了一連串的功能測試,在過程中遇到一個問題,就是在新建的 LEMP 伺服器下,在 4.2版的 WordPress 設定固定連結時,所有文章的畫面會直接跳出 Error 404,網路上提供的其中一個方法是「創建自己的鏈結」,但這方法似乎不是說很管用,最後找到了利用 Nginx 的複寫功能,來對設為「固定連結」的網址進行覆寫的動作,接下來我們就開始來操作吧。

條件說明

本教學適用於採預設安裝之 Nginx 伺服器,作業系統則為 Ubuntu 14.04。

操作步驟

Step1. 首先我們先找到 nginx 的 vhost 設定檔,預設路徑為 /etc/nginx/sites-available/vhost設定檔。

Step2. 輸入以下指令開始編輯

$ sudo vim /etc/nginx/sites-available/vhost設定檔

Step3. 在 Server{} 當中加入以下程式碼,位址可依自己習慣進行設定。

if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}

if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}

if (!-f $request_filename){
rewrite (.*) /index.php;
}

Step4. 重新讀取 nginx 設定

$ service nginx reload

Step4. 重啟nginx服務

$ service nginx relstart

Step6. 登入自己的 WordPress 網站,檢查連結是否有正常運作。

發表迴響