網上介紹部署 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 精神,樂在過程。謝謝大家觀看,也希望大家能常來我的博轉轉。