程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> Asp網站服務器偽靜態的實現方法

Asp網站服務器偽靜態的實現方法

編輯:ASP技巧
以前發布一篇文章,介紹ASP程序偽靜態的,具體內容見:ASP程序實現偽靜態的代碼。
這裡介紹ASP服務器偽靜態的方法,首先你必須有服務器有操作權限。然後你下載rewrite組件,下載地址:http://www.helicontech.com/download.ASP

接著安裝,隨便裝哪都行。

然後,打開Internet 信息服務,右鍵,web站點屬性,點ISAPI篩選器選項卡.添加篩選器,名稱填個rewrite,路徑自己指定ISAPI_Rewrite.dll(在安裝的根目錄下),然後確定.

設置擴展:

右擊我的電腦--管理--服務與應用程序--Internet信息服務(IIS)管理--Web服務擴展--添加一個新的Web服務擴展--輸入擴展名:ISAPI_Rewrite--添加--浏覽--找到你的安裝目錄選中ISAPI_Rewrite.dll打開並設置為允許運行此擴展

最後..

開始添加rewrite規則.正則,找到ISAPI_Rewrite目錄,把httpd.ini的只讀屬性去掉,打開編輯.

打開時的內容是:

[ISAPI_Rewrite]

# Defend your computer from some worm attacks

RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]

我們在[ISAPI_Rewrite]下添加以下內容然後保存即可:

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

# Protect httpd.ini and httpd.parse.errors files

# from Accessing through HTTP

RewriteRule ^(.*)/archiver/([a-z0-9\-]+\.Html)$ $1/archiver/index\.PHP\?$2

RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.Html$ $1/forumdisplay\.PHP\?fid=$2&page=$3

RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.Html$$1/vIEwthread\.PHP\?tid=$2&extra=page\%3D$4&page=$3

RewriteRule ^(.*)/profile-(username|uid)-(.+)\.Html$ $1/vIEwpro\.PHP\?$2=$3

我的成功設置內容如下:

CODE:

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

# Protect httpd.ini and httpd.parse.errors files

# from Accessing through HTTP

RewriteRule ^(.*)/archiver/([a-z0-9\-]+\.Html)$ $1/archiver/index\.PHP\?$2

RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.Html$ $1/forumdisplay\.PHP\?fid=$2&page=$3

RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.Html$$1/vIEwthread\.PHP\?tid=$2&extra=page\%3D$4&page=$3

RewriteRule ^(.*)/profile-(username|uid)-(.+)\.Html$ $1/vIEwpro\.PHP\?$2=$3

# Defend your computer from some worm attacks

RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]

然後提交就算是全部完成了,回到論壇看看是否你的論壇已經有靜態頁面,有了吧,開心吧,我也是完成後好開心。

 

 

利用isapi_rewrite防盜鏈

利用isapi_rewrite可以實現類似於apache的偽靜態路徑,利用其檢查refer的功能我們還可以實現防盜鏈。該軟件可以在 http://www.helicontech.com/download/下載,是一個共享軟件,但是有一個LITE版本是免費的,基本上可以實現我們需要的功能。安裝的步驟我就不詳細說了,具體說說httpd.ini的設置。

首先,必須要保證httpd.ini有可寫權限,設置isapi_rewrite安裝文件夾everyone具有可修改權限後,去除該文件的只讀屬性。

httpd.ini默認設置如下:

RewriteCond Host: (.+)

RewriteCond Referer: (?!http://\1.*).*

我們在它後面加上一句

RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]

即可實現gif/jpg/png/exe/rar/zip文件的防盜鏈,盜鏈頁面顯示的是/block.gif。block.gif是一個體積較少的圖片文件,我們可以在上面打上自己網站的版權標志和防盜鏈聲明。

如果按照上面設置,則除本站以外的所有網站均不能使用這裡的圖片,如果要允許一些例外的網站比如google,baidu以及其它一些非營利性網站引用該怎麼辦呢?我們可以用如下正則表達式來實現

RewriteCond Referer: (?!http://(?:www\.0e2\.Net|www\.google\.com|www\.baidu\.com)).+

如果想允許所有google子站和baidu子站形如images.baidu.com,images.google.com等站則做如下設置:

RewriteCond Referer: (?!http://(?:*\.0e2\.Net|*\.google\.com|*\.baidu\.com)).+

至此,一個相當有效的防盜鏈系統已經出來了,但如上設置有一個問題,如果浏覽者浏覽了盜鏈頁面後訪問本站頁面,則被盜鏈圖片的緩存會影響圖片的正常顯示。把

RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]

改為

RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O,N]

方可。參數N的意思是重新從站點請求文件而不是從本地緩存讀取。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved