如今在做網站SEO優化的同時,也必須要懂得一些簡單處理網站無法訪問的問題,這不今天成都SEO博主就遇到一個iis6搭建的php網站偽靜態失效的問題。
這種問題,憑著自己的經驗第一反應認為是ISAPI_Rewrite組件的問題,于是乎卸載重裝,安裝好ISAPI_Rewrite重啟iis以后網站內頁還是404錯誤 。突然感覺有點棘手了,依次去排查了偽靜態規則,動態鏈接是否正常……排查完以后發現都沒有異常。
無奈只能問度娘了,一搜索發現的確有好多解決方案,網友們基本都說是權限問題:
1.IIS_WPG對ISAPI_Rewrite.dll沒有讀取的權限
2.IIS_WPG對httpd.ini沒有讀取的權限
3.IIS_WPG對站點目錄中的httpd.ini沒有讀取的權限(用于每個站點有獨立的httpd.ini)。
4.IIS_WPG對站點目錄中沒有寫入的權限(ISAPI_Rewrite要寫入一個httpd.parse.errors文件)。
…………
一開始還是懷疑的,因為以前都是正常的,平時我們也不回去更改權限,這種情況多適用于剛搭建的環境。雖然心存疑慮,我還是把所有相關的目錄(組件安裝目錄、網站目錄)權限都是設置everyone完全控制,測試依舊404錯誤。
繼續百度查找,還有的說在httpd.conf文件中加上如下兩句,然后訪問網站會有錯誤日志,經測試沒有錯誤日志。
RewriteLogLevel 9
LogLevel debug
最后又回到最初的判斷ISAPI_Rewrite組件有問題,再次卸載重裝,還是404錯誤。
正準備網上重新下載一個ISAPI_Rewrite組件來再安裝試試,突然發現自己在檢查的時候忽略了一個問題,就是ISAIP篩選器里面是否正常加載了rewrite組建,右鍵-站點-屬性-ISAIP篩選器,一看空白,馬上添加添加rewrite組建(如下圖)重啟IIS,網站內頁訪問正常,到此終于解決了ISAPI_Rewrite偽靜態不生效的問題,當然這個只是ISAPI_Rewrite偽靜態不生效的案例只是其中一個原因,上面網友提到的原因我們在實際遇到IIS6 ISAPI_Rewrite偽靜態不生效解的時候,可以一一測試排查。



