網上介紹部署 ISAPI Rewrite 的文章也不少,但大體都是對老版本的介紹,或者比較凌亂,我按照自己的做法結合前人的經驗整理了一下,供大家參考。菜鳥發帖,難免有疏漏的地方,歡迎大家指教,也歡迎大家去我的部落格轉轉。
Apache 的 mod_rewrite 功能可以說是相當的強大,其可以實現偽裝靜態 URL 以達到某些要求 (譬如說 SEO) 。 WordPress 也對此功能提供支援,在” 設定-永久連結” 中我們可以自定義永久連結結構。不過這一切都是基於 mod_rewrite,難道 IIS 只能乾瞪眼?不爭氣的.net!
其實 IIS 中也能實現偽靜態 URL 。雖然沒有 mod_rewrite,但是有專門為 IIS 準備的 ISAPI Rewrite 。 ISAPI_Rewrite 是一個強大的基於正規表示式的 URL 處理引擎,其功能類似於 Apache’s mod_Rewrite 。目前最新的版本是 3.0,有 Full 和 Lite 兩種發行方式,前者可以免費使用 45 天,而後者是完全免費試用但是限制了一部分功能。
我們首先到 http://www.helicontech.com/download-isapi_rewrite3.htm 下載 Lite 版的安裝包,這個頁面可以看到 ISAPI Rewrite 還是很強的,除了提供 32 位和 64 位的程式,居然還有支援安騰 (Itanium) 的版本。在伺服器上安裝完以後,我們可以在” 開始-程式” 中找到其快捷方式,開啟後如圖:

然後點”edit” 來修改 httpd.conf 檔案,2.0 版本的檔名是 httpd.ini,可以透過”Import from v2.0″ 匯入。 (httpd.conf 裡究竟寫些什麼東西呢?我們放到最後再說)
儲存以後推出,我們開啟 IIS 管理器,選中”Web 服務擴充套件”,然後點選紅色框中的連結。

點選以後會彈出如下對話方塊,這裡我們選擇” 在伺服器端的包含檔案”,點選確定

隨後我們開啟網站的屬性選單,選擇”ISAPI 篩選器” 標籤,然後新增一個篩選器,填寫內容如下

全部設定好,依次確定完以後重啟一下 IIS 就可以了
接下來我們來看 httpd.conf 中的內容,我所用的內容是透過蒐羅網上很多資源然後再自己稍作修改而成的,在此對這些前輩表示感謝 (邊搜遍試,沒有把作者們記下來) 。大家可以點選下載:http://bbs.chinaz.com/OutputAttachment.html?ID=26738&action=download
接下來就是 WordPress 裡的設定了,在 WordPress 的設定-永久連結中我們選擇自定義結構,然後輸入框中填寫/post/%post_id%.html,最後儲存修改,到此就大功告成了!測試下來日誌、分類、存檔、回覆、 tag 、 rss 等均正常顯示。
以上操作我也是摸著石頭過河,網上資源大多是講老版本的,內容不一定通用,我的方法也不一定是唯一的方法。希望大家也能分享一下自己的經驗。
其實偽靜態 URL 對 SEO 有多大幫助,網上的爭論也很多。不管結果如何,我們也要發揮 DIY 精神,樂在過程。謝謝大家觀看,也希望大家能常來我的博轉轉。