關於 Apache 與 Nginx 的對比網上資料眾多,此處不贅述。WordPress 博主普遍使用偽靜態,利於搜尋引擎收錄且 URL 美觀。虛擬主機多用 Apache,偽靜態幾乎無需手動配置;但折騰 VPS 的獨立博主不少,Nginx 作為常見環境下,WordPress 偽靜態卻變得棘手。本文教你如何在 Nginx 下輕鬆啟用偽靜態,無需理解原理,照做即可。
編輯虛擬主機配置文件 nginx.conf(通常位於 /usr/local/nginx/conf/vhost/域名.conf,務必確認為你的域名配置),在 server { listen 80; server_name …; root …; 之後添加:
location / {
index index.html index.php;
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;
}
}
然後重新載入 Nginx(關鍵步驟):
/etc/init.d/nginx restart # CentOS
完成上述步驟,WordPress 即可在 Nginx 下正常使用偽靜態。