asp url重寫 方案

1、使用ISAPI for IIS 
2、使用ISAPI 貌似要寫用到VC 寫個dll
3、使用ASP。net HttpMoule

最好參見http://union.zhuna.cn/help/38.asp 下面的寫的不是很清楚!!!!

使用這種僞靜態地址的問題是如果頁面是其他鏈接使用到了location相關聯的鏈接,會造成原先的鏈接失效,而且CSS也會失效!!!這個我是遇到了,還需要更多的驗證。。。

什麼是UrlRewrite?
UrlRewrite 是 將靜態頁面轉換爲動態頁面的一種技術. 例如.您網站頁面是 http://www.yourdomain.com/news/docread.aspx?id=123 使用UrlRewrite轉換後 可以 以 http://www.yourdomain.com/news/123.html 來訪問. 

UrlRewrite的用處: 滿足搜索引擎的要求,google可以抓取動態頁面,但是google對動態頁面的評分一般低於靜態頁面.

UrlRewrite 對IIS 服務器和Apache服務器有不同的設置. 兩種配置方法不同. 請廣大用戶千萬注意.

Apache服務器設置: 您需要在網站根目錄創建 .htaccess 文件.編寫規則.

IIS 服務器設置: 您需要在網站根目錄創建 httpd.ini 的配置文件, 編寫規則.

由於 IIS下的httpd.ini和 Apache的.htaccess 文件 是兩種完全不同的配置方式.兩個不能互換使用. 編寫URLReWrite 需要專業的技術人員.

如何對IIS服務器的網站 進行UrlRewrite的設置? 

注意 使用URlRewrite 不能開啓 網站自定義 404錯誤,否則 UrlRewrite將無法正常工作

isapi_rewrite利用正則表達式進行替換規則的表示。
您需要在您網站根目錄 建立一個 httpd.ini 的配置文件,裏面有UrlRewrite配置信息.

以下是httpd.ini 的內容

#----------------- httpd.ini 文件內容,您可以複製後上傳到您網站根目錄-----------
[ISAPI_Rewrite]
# 3600 = 1 hour 設置緩存時間 1個小時 
CacheClockRate 3600
# 設置正則表達式 替換變量個數.
RepeatLimit 32

# Protect httpd.ini and httpd.parse.errors files from accessing through HTTP
# 以下UrlRewrite規則是爲避免 網站的 httpd.ini httpd.errors 之類配置文件被下載.
RewriteRule ^/httpd(?:\.ini|\.parse\.errors).* [F,I,O]

# 正式URLRewrite規則 ,意思是 http://server/123.html 都將訪問 動態頁面 http://server/urlrwtest.asp?id=123
# 您需要根據您網站需要進行更改
RewriteRule /([0-9]*).html /urlrwtest.asp\?id=$1
#----------------- httpd.ini 文件內容結束-----------


urlrwtest.asp 文件 示例:
<%response.write "URLRewrite 測試:你訪問的ID號 是:" & request("id")%>

文件保存後即可生效.
URLrewrite 支持 asp,asp.net,php 等各種腳本.

UrlRewrite 常見錯誤
1. 404錯誤(頁面無法找到):沒有網站根目錄建立Httpd.ini 文件 或者 正則表達式 錯誤,都會導致 頁面無法找到錯誤
2. 500錯誤(腳本程序錯誤): 目標動態頁面程序錯誤
3. 404用戶自定義錯誤: 如果網站管理員開啓了404 網站自定義錯誤,urlrewrite將無法正常工作.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章