本帖最後由 zxc0166 於 2013-4-30 15:50 編輯 $ O7 H: p1 d0 l- \% Z9 S& ?
) N3 T# i/ U1 E% @" C5 T# g以前自己VPS用的是LAMP(LINUX+Apache+mysql+php)沒在意,昨天在VPS上按論壇的教程裝上了LNMP(LINUX+nginx+mysql+php)後發現:
6 \7 k7 @7 T. W. c, L: U3 Gwordpres的Permalink Settings也就是固定鏈接設置成非默認鏈接格式後,在首頁點文章頁會出現404錯誤,不知道大家有沒遇到這個問題?1 h% ?- D, k1 W u) O
7 ~1 S3 O- V4 C9 M3 ?解決方法:
( Y- S$ }1 D. P2 W. B% y在 /etc/nginx/sites-available 或 /etc/nginx/sites-enabled 文件夾下找到 所屬站點的 .conf 配置文件,在 location / { 下添加如下代碼: if (!-e $request_filename){
6 N+ x) R F, a0 B) k) U rewrite (.*) /index.php;
0 \ Q" g% E0 R8 b }
! y/ F& t* }& G3 D a# f( Q如下圖" C& M' r* n# W
修改後還需 /etc/init.d/nginx restart 重啟一下nginx,至此解決!, D6 h* y5 l8 l k, A6 m' J
$ R5 b9 c& E; k問題原因:! |4 G9 }3 y O1 s& {
wordpress的鏈接、轉向在Apache環境下是通過修改網站目錄下的 .htaccess 設置的, .htaccess 的設置是即時生效的。其實Apache環境下無論什麼程序都一樣,訪問每一個頁面都會調用一次 .htaccess ,查詢是否需要轉向,從這一點也能看出Apache的方便和佔用資源。' _" D: U6 J+ f0 V- o0 z: j4 M
nginx出以高效、低資源佔用的設計理念,沒有採用 .htaccess 設置。所以只能在網站配置文件中加入nginx轉向規則的語句,並重新啟動加載轉向規則。
6 @% R( V. i- y" T0 \, G; B# v
9 ^( N8 G* q$ N7 w( `6 ^7 U8 S* s: H* @; }* a" x6 j
1 F8 [1 q' e! s. G% m4 W& E' f: _, G/ b; Q) J4 Q0 h
|