1. 程式人生 > >thinkphp 在IIS6下偽靜態規則

thinkphp 在IIS6下偽靜態規則

hinkphp程式一般預設執行在linux下的apache伺服器裡,偽靜態預設的的官方就支援,但如果執行那個在iis下,那預設的就不支援偽靜態了。

因此,需要編寫iis下的偽靜態規則才可以,這裡我們特別為廣大的thinkphp愛好者提供一下對應的規則(在筆者釋出之前,網路上的規則幾乎都不可以用的),在使用規則之前,伺服器必須安裝偽靜態元件的,至於怎麼安裝這裡就不說了。虛擬主機使用者可以諮詢空間開發商伺服器中是否安裝了偽靜態元件,如果有安裝了。虛擬主機使用者就不用去操心安裝問題,直接偽靜態規則儲存為httpd.ini上傳到程式站點目錄就可以

以下是規則內容:

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule (?!\/不進行靜態化的目錄1)(?!\/不進行靜態化的目錄2)(.*)$ /index\.php/$1 [I]

這樣簡單的介紹一下,有一些目錄比如放js,css,圖片或者附件或者管理員目錄等等不需要進行靜態化,可以再上面不進行靜態的目錄中新增。如果沒有新增,預設的RewriteRule (.*)$ /index\.php/$1 [I] 就會造成所有的檔案都被靜態化,結果就會造成css和js,圖片等被靜態了,會造成版面看起來很亂的現象!

例如

內容如下:

[ISAPI_Rewrite]


# Defend your computer from some worm attacks
RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]

RewriteRule (?!/index.php)(?!/admin.php)(?!/Admin/)(?!/Public/)(?!/install/)(?!/404/)(?!/plugin/)(?!/css/)(?!/images/)(?!/js/)(.*)$ /index.php?s=$1 [I]