一、概述
ecshop本身並沒有生成靜態頁面的功能,因此我們可以通過僞靜態來使ecshop訪問和被搜索引擎更加容易。
網上很多都是使用ISAPI Rewrite的,但是這款是收費的,破解版本不好,免費版本功能有限制,因此還是使用“IonicIsapiRewriter”比較好。
二、IonicIsapiRewriter簡介
IonicIsapiRewriter(以下簡稱IIRF)是一款ISAPI重寫過濾器,是免費的開放源代碼的並且是專門爲IIS設計的rewriter
URL。 它作爲一個ISAPI過濾器,可以安裝在IIS服務器IIS6或IIS7上。
下載地址:
x86版本:http://www.32666.com/file-201067.html
x64版本:http://www.32666.com/file-201066.html
三、安裝IIRF
目前我們在windows2003上進行安裝設置,也就是在iis6版本上進行操作。
新建一個網站,配置好php環境,如圖,在iis中左側的ecshop網站(獨立網站或者虛擬目錄均可),保證ecshop安裝好並且可以運行,這個就不說了,請大家參考以前的php配置文章。
我們是32位的系統,因此下載x86版本,解壓,正常情況下只需要iirf.dll這個文件即可(如果你需要針對整個服務器進行設置,那麼還需要壓縮包的IirfGlobal.ini文件)。你必須把這個全局的ini配置文件和IIRF.dll文件放在同一個目錄下。IIRF將尋找其在該文件中的全局設置文件。 如果是多個站點,則在站點根目錄下複製一個IIRF.dll文件(還要包括IIRF.ini配置文件)。
我們在d盤建立一個IIRF目錄,把IIRF.dll文件複製到這個目錄中,然後給這個目錄配置相應的權限。
目前需要添加的是IIS_WPG、IUSR_xxx 、NETWORK SERVICE 三個用戶組或用戶,然後權限分配修改、讀取和運行、讀取、寫入即可。
在ecshop網站根目錄建立一個iirf.ini的配置文件,裏面填寫:
#開啓設置狀態
StatusUrl iirfStatus
StatusInquiry ON
保存即可。
接下來在IIS中配置。
打開iis,在ecshop網站屬性中添加irif的dll,之所以下圖狀態是已加載,是因爲我已經配置好並重啓了iis,下面我會提到:
然後選中主目錄,點擊配置,在應用程序配置選項卡中,繼續添加:
注:擴展名和確認文件是否存在
到這裏應該就可以重啓iis了,不過我還是添加了一個擴展:
好了,我們重啓iis,我是用cmd窗口,
net stop iisadmin /y 和 net start w3svc 這兩個命令重啓的,呵呵。
重啓好後,我們查看ecshop的網址,並且加上iirf的狀態查看鏈接:
http://localhost:81/iirfstatus
說明iirf配置成功。
四、配置
配置IIRF的日誌
在iirf.ini文件中添加(規則文件可隨時修改,隨時生效!):
#設置日誌
RewriteLog D:/irif/iirfLog.out
RewriteLogLevel 5
第一個是路徑,第二個是日誌等級。
在IIRF中日誌值可以設置爲0-5,在規則文件的開頭部分有兩行設置日誌類型
RewriteLog C:\Rewrite\supesite\iirfLog.out (注意要寫清楚路徑,各站點不同)
RewriteLogLevel 0 (0爲不記類,3爲一般測試,5爲處理故障)
日誌的代價高昂,同時不會自動刪除文件,日誌類型一定要設成0,除非用於檢查才能修改爲其他值,檢查完後一定要改爲0,否則日誌文件把硬盤佔滿就麻煩了。
如果日誌不爲0,篩選器起用後,對應文件夾會產生類似以下的文件,是文本格式的,可以用記事本查看。
iirfLog.out.17756.log
然後就可以針對ecshop進行僞靜態的處理了,呵呵。下次再說這個,先簡單弄個:
在iirf.ini文件中增加一條:
RewriteRule /index.html$ /index.php [L]
保存,然後去訪問ecshop,這樣訪問: http://localhost:81/index.html
heihei ^_^