Wordpress遷移服務器后,只有主頁能打開,其它頁面都顯示404 頁面無法訪問。
出現這個問題是因為我的Wordpress之前用的服務器是apache+PHP組合,換了服務器后變成了Nginx+PHP,所以我判斷是偽靜態出了問題。如果大家要排查確認是不是偽靜態的問題,可以將wordpress固定鏈接改為 “朴素” 數字型,正常情況下訪問二級頁面就不會有問題了。
針對這個問題官方是有解決方案的,在Nginx的配置文件中location段添加以下代碼即可:
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; }
如果是寶塔面板,可以在配置中找到如下內容:
#REWRITE-START URL重寫規則引用,修改后將導致面板設置的偽靜態規則失效
include /www/server/panel/vhost/rewrite/xxx.com.conf;
#REWRITE-END
把官方提供的解決方案代碼配置在對應的xxx.com.conf即可實現偽靜態。