本帖最後由 zxc0166 於 2013-4-30 15:50 編輯
9 C& J' Q4 N5 @) |' C+ b( l5 Q& ~; C: _! Z ?) a0 |
以前自己VPS用的是LAMP(LINUX+Apache+mysql+php)沒在意,昨天在VPS上按論壇的教程裝上了LNMP(LINUX+nginx+mysql+php)後發現:
" _1 Z$ T, A8 b6 f4 Cwordpres的Permalink Settings也就是固定鏈接設置成非默認鏈接格式後,在首頁點文章頁會出現404錯誤,不知道大家有沒遇到這個問題?
1 v. a2 w9 ]6 }+ `! [( y# ?3 m# B
b% E. ? ?" B解決方法:
! _) m- W1 @! a# O在 /etc/nginx/sites-available 或 /etc/nginx/sites-enabled 文件夾下找到 所屬站點的 .conf 配置文件,在 location / { 下添加如下代碼: if (!-e $request_filename){
. A; k% n% ]4 V+ t* D) q: Y rewrite (.*) /index.php;! j+ o) n( q1 S+ E4 `) D
}
; C( y9 ^, G; o5 ~3 C |/ R# I如下圖( y9 o0 ?- q- q) t+ P
修改後還需 /etc/init.d/nginx restart 重啟一下nginx,至此解決!
; M9 u8 z. p) \- n9 Q( n: S! z/ [0 r9 D: x) q2 V0 S) M- e5 a% g
問題原因:4 \0 Q5 y U/ v8 {* S; }8 p
wordpress的鏈接、轉向在Apache環境下是通過修改網站目錄下的 .htaccess 設置的, .htaccess 的設置是即時生效的。其實Apache環境下無論什麼程序都一樣,訪問每一個頁面都會調用一次 .htaccess ,查詢是否需要轉向,從這一點也能看出Apache的方便和佔用資源。# r- F5 I3 o) T. s2 I
nginx出以高效、低資源佔用的設計理念,沒有採用 .htaccess 設置。所以只能在網站配置文件中加入nginx轉向規則的語句,並重新啟動加載轉向規則。
" E( q0 u5 t. X9 b
1 P3 b3 g% ^; [& k% T4 X" v/ |' G- S- P
8 L+ `, y7 m6 l5 L, ^, r" m+ P7 A* |- C4 x* h
|