網址出現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=” ,示例如下,然后保存文件
aspxerrorpath =
這個功能是為了禁用 URLs 中有 “aspxerrorpath=” 查詢字符串去訪問您的ASP.NET應用程序,並且web服務器返回 HTTP 錯誤。
保存之后,運行 “iisreset” (管理員權限下)使其生效。為了查看是否生效,您用包含那個查詢字符串的URL,可以訪問您的站點或者應用程序,看看是否有 HTTP 錯誤從IIS中發出。