1. 程式人生 > >[WP]如何在Win + IIS主機設下置WP偽靜態?

[WP]如何在Win + IIS主機設下置WP偽靜態?

今天我的部落格更換主機,所以導致大概有一個小時無法訪問的問題希望大家原諒,因為要換DNS解析,而且為了偽靜態的事情搞得我很鬱悶,耽擱了點時間。同時我成為中國雲(www.china-yun.net)的合作伙伴,以後大家有需要主機的,可以找我,一定給大家最優惠的價格。

好了,言歸正傳,既然我自己找到了一個 Win + IIS 主機下的wordpress偽靜態的絕佳方法,那當然不能私藏了,要分享出來。其實方法很簡單,就是用404頁面來中轉一次。注意:該方法比較暴力,是根據404錯誤的反饋然後擷取字串拼出來的地址,可能會存在一些問題,而且某些人說對SEO也有影響,不過我先這樣用了,如果出現問題再改吧,如果不靜態化,以前我的那些地址網頁就都會搜不到,所以怎麼樣也得改啊。

以前的那個ISAPI_Rewrite的規則在很多win主機上都沒用,原因很簡單,因為ISAPI元件是收費元件的原因,很多主機沒有安裝(一直覺得win下很多事情都沒法弄,看來是正確的,這個收費那個收費,搞得大家都沒好日子過),所以很大一部分朋友為這個各種換主機到Linux上。Linux主機好是好,不過維護成本太大,所以價格都偏高。而且win主機上的各種疑難雜症都有辦法解決,個人覺得沒必要更換別的主機,頻繁的更換主機可能會導致搜尋引擎重新收錄,如果是大站就悲劇了。

使用404這個方法,有一個先決條件就是你的主機要支援錯誤頁面自定義功能,否則您還是使用ISAPI_Rewrite規則吧。

首先建立一個404.php的網頁,可以新建一個文字檔案,然後改名,頁面下載:

下載: 404.php (不知道怎麼的,我直接貼出來程式碼,它會執行,然後就會出現錯誤,所以我就不貼出來了)
上傳404.php到你的網站根目錄下,然後在空間管理面板設定錯誤頁面定義(我的面板可能跟你的面板不太一致,具體請諮詢你的空間商)。

錯誤程式碼為 404,錯誤URL為 404.php

如圖:

設定404自定義錯誤

然後像在Linux主機下直接在wp後臺固定連結裡設定自己想要的的靜態方式了。具體可以檢視我的部落格,我的是 /%post_id%.html

常用的靜態方式關鍵字說明:

%year%:日誌發表的年份,四位數字,如2012

%monthnum%:日誌發表的月份,如05

%day%:日誌發表的日期,如28

%hour%:日誌發表的時間(小時),如15

%minute%:日誌發表的時間(分鐘),如43

%second%:日誌發表的時間(秒),如33

%postname%:日誌標題的縮略版本(日誌/頁面編輯介面上的日誌別名)

%post_id%:日誌的唯一ID,如423,我比較推薦這個。

%category%:分類名稱的縮略版本(新增新分類/編輯介面上的分類別名)。巢狀的子分類會作為巢狀子目錄出現在URI中。

%tag%:標籤名稱的縮略版本(新增新標籤/編輯介面上的標籤別名)。

%author%:作者名稱的縮略版本。

常用的靜態方式:

/%year%/%monthnum%/%postname%/
/%year%/%monthnum%/%day%/%postname%/
/%year%/%monthnum%/%postname%.html
/%year%/%monthnum%/%day%/%postname%.html
/%category%/%postname%.html

2012.4.9 22:45 補充內容

剛剛問過了中國雲主機的朋友,他說直接放置一個.htaccess檔案到網站根目錄,寫入如下內容就可以實現偽靜態了,這個方法我比較喜歡,跟以前Linux主機一樣,非常方便,雖然說還是去掉了index.php頁面,但是畢竟沒有用404暴力了,我第一時間搞定了就放出來給大家看了。

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress