網址出現aspxerrorpath=的問題描述
1.網頁打不開了,輸入網址後就提示error.aspx?aspxerrorpath=/about-us.html,到底是什麼原因啊?
2.ASP網站自訂了404錯誤頁,但訪問不存在的網址時網址錯誤頁後面總多出aspxerrorpath參數,怎麼解決呢?
3.萬方資料庫檢索時開啟是空白頁,訪問http://www.sowsoy.com/zmd/tbzmd-catindex.htm時,為什麼得到的網址是……/404.html?aspxerrorpath=tbzmd-catindex.htm?
網址出現aspxerrorpath=的原因
這是一種處理出錯的機制,如果網站程式出現異常,或者訪問者沒許可權或操作有錯誤,就會通過重新導向專業錯誤顯示頁面上,同時在錯誤顯示頁面的網址中增加此參數,如果不定向到這個頁面程式就會報簡單的頁面不存在或者錯誤提示白頁。
1.web.config設定檔配置了錯誤頁,使用者訪問了不存在的網址
現在網站通常會自訂了404錯誤頁,當訪問的網址不存在時,如果重新導向到自訂的404錯誤頁,網址中就可能添加aspxerrorpath=參數。web.config中的customErrors可以定義404錯誤頁,詳細配置參數請參考web.config中<customErrors>節點詳解,比如某網站的設定檔如下:
...
<customErrors mode="RemoteOnly" >
<error statusCode="404" redirect="/error.html"/>
</customErrors>
...
這裡將customErrors mode設定成了RemoteOnly,當遠端存取該網站的一個不存在的頁面時,就會自動轉向error.html頁面,看到的網址就是error.html?aspxerrorpath=……
2.網站代碼運行錯誤
如網站代碼dll同頁面不匹配,運行時導致系統出錯,轉到錯誤頁也會出現該問題。
3.網站被駭客入侵
網站被駭客入侵後,使用者訪問的正常頁面可能會被惡意跳轉,如果跳轉到不存在的頁面,再加上404錯誤的跳轉設定,網址中就可以出現aspxerrorpath=參數。
網址出現aspxerrorpath=的解決辦法
1.將web.config中的customErrors設定成Off
這時自訂404錯誤頁失效,如果使用者訪問不存在的網頁,瀏覽器會爆出網頁不存在的簡單頁面,如果希望看到自己定義的錯誤頁面,可以在伺服器上設定自訂錯誤頁。
2.重新編譯網站代碼
如果是網站代碼錯誤,重新編譯代碼後更新到伺服器即可解決此問題。
3.修複網站
如果網站被駭客入侵,你可以通過這些方式嘗試修複網站。
IIS URLScan module禁用URLs中帶aspxerrorpath=參數查詢字串去訪問您的ASP.NET應用程式的方法
首先需要安裝 URLScan ,安裝完成後,找到設定檔
%windir%\system32\inetsrv\urlscan\UrlScan.ini
並開啟,在 UrlScan.ini 的底部,可以找到 [DenyQueryStringSequences] 區。在地區下加 “aspxerrorpath=” ,樣本如下,然後儲存檔案
[DenyQueryStringSequences]
aspxerrorpath=
這個功能是為了禁用 URLs 中有 “aspxerrorpath=” 查詢字串去訪問您的ASP.NET應用程式,並且web伺服器返回 HTTP 錯誤。
儲存之後,運行 “iisreset” (管理員權限下)使其生效。為了查看是否生效,您用包含那個查詢字串的URL,可以訪問您的網站或者應用程式,看看是否有 HTTP 錯誤從IIS中發出。