1. 程式人生 > >偽靜態之iis的兩種url重寫(ISAPI_Rewriter和IIS7官方的重寫元件)

偽靜態之iis的兩種url重寫(ISAPI_Rewriter和IIS7官方的重寫元件)

通過本文您將對iis下配置偽靜態的兩種方法安裝使用有個瞭解,如果有意見和建議,歡迎留下評論!
.html格式的url對於seo有好,同時容易記憶,有很多途徑可以實現,例如整站的生成,ASP.NET MVC中路由,各種偽靜態的url重寫機制,整站靜態化在大型專案中顯得不太靠譜,偽靜態配以快取和模板技術在很多網際網路開發中從而得到很多的使用,微軟有想關的文章提到這點(點選瀏覽)!
這裡主要講兩種iis下實現偽靜態的方法,只是一個樸素的總結,有興趣可以看看!
如下圖:
Highslide JS
第一種情況:UrlRewriter.dll的ISAPI元件
安裝了ISAPI篩選器,這種在之前的文章中有提到,大家去看看這篇文章《用ISAPI_Rewrite實現asp偽靜態》
,ReWrite程式直接解壓到c盤然後引用dll到篩選器即可,這種重寫的檔案多為上圖中http.ini檔案,使用正則表示式,格式如下

[ISAPI_Rewrite]

# 3600 = 1 hour
CacheClockRate 3600

RepeatLimit 32
#這裡是重寫
RewriteRule ^(.*)/tommyhu-([0-9]+)\.html$ $1/tommyhu\.Asp\?ID=$2 [I,O]

# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP

相關的軟體大家可以去http://blog.chinaunix.net/link.php?url=http://www.helicontech.com%2Fdownload.asp
下載,免費的!
Highslide JS
第二種情況:使用微軟的一款IIS7官方的重寫元件
1、下載地址(這裡要注意作業系統是多少位的,我的系統是64位的,就下載x64的):http://www.iis.net/download/URLRewrite
Highslide JS
2、安裝重寫模組
我下載的是本地msi包(rewrite_2.0_rtw_x64.msi),雙擊安裝即可(如果IIS服務沒停的話,安裝完成後會要求重啟系統。)
3、這個時候再進 “Internet 資訊服務(IIS)管理器”,就可以看見模組中多了一個 Url Rewrite 模組
Highslide JS
4、進入需要設定的站點,雙擊 Url Rewrite 圖示,進入設定介面。
然後點選右側的“Import Rules...”(匯入重寫規則)

5、將.htaccess副檔名檔案匯入並做修改,或則一條條新增規則

<Files ~ "^.(htaccess&#124;htpasswd)$">
deny from all
</Files>
<FilesMatch ".(gif&#124;jpg&#124;jpeg&#124;png&#124;ico)$">
Header set Cache-Control "max-age=3600"
</FilesMatch>
ErrorDocument 400 http://www.putu.cc/404.html
ErrorDocument 401 http://www.putu.cc/404.html
ErrorDocument 402 http://www.putu.cc/404.html
ErrorDocument 403 http://www.putu.cc/404.html
ErrorDocument 404 http://www.putu.cc/404.html
ErrorDocument 405 http://www.putu.cc/404.html
ErrorDocument 406 http://www.putu.cc/404.html
ErrorDocument 407 http://www.putu.cc/404.html
ErrorDocument 408 http://www.putu.cc/404.html
ErrorDocument 409 http://www.putu.cc/404.html
ErrorDocument 410 http://www.putu.cc/404.html
ErrorDocument 411 http://www.putu.cc/404.html
ErrorDocument 412 http://www.putu.cc/404.html
ErrorDocument 413 http://www.putu.cc/404.html
ErrorDocument 414 http://www.putu.cc/404.html
ErrorDocument 500 http://www.putu.cc/404.html
ErrorDocument 501 http://www.putu.cc/404.html
ErrorDocument 502 http://www.putu.cc/404.html
ErrorDocument 503 http://www.putu.cc/404.html
ErrorDocument 504 http://www.putu.cc/404.html
ErrorDocument 505 http://www.putu.cc/404.html
order deny,allow
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?http://www.tommyhu.cn/(/)?.*$     [NC]
RewriteRule ^tommyhu-([0-9]+)-([0-9]+)\.html$ tommyhu.asp?id={R:1}&page={R:2}

6、最後一個很棒的網站,提供htaceess檔案生成服務 http://www.wangqu.org/htaccess/#a_Pic