參考|教程
ASP教程:UrlRewrite 使用參考文檔
什麼是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利用Regex進行替換規則的表示。
您需要在您網站根目錄 建立一個 httpd.ini 的設定檔,裡面有UrlRewrite配置資訊.
以下是httpd.ini 的內容
#----------------- httpd.ini 檔案內容,您可以複製後上傳到您網站根目錄-----------
[ISAPI_Rewrite]
# 3600 = 1 hour 設定緩衝時間 1個小時
CacheClockRate 3600
# 設定Regex 替換變數個數.
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 檔案 或者 Regex 錯誤,都會導致 頁面無法找到錯誤
2. 500錯誤(指令碼程式錯誤): 目標動態網頁面程式錯誤
3. 404使用者自訂錯誤: 如果網站管理員開啟了404 網站自訂錯誤,urlrewrite將無法正常工作.