利用404錯誤頁面實現(xiàn)UrlRewrite的實現(xiàn)代碼
更新時間:2008年08月20日 01:09:08 投稿:mdxy-dxy
要求:網(wǎng)站編碼為utf-8,不適用于GB2312;
替換字符的正則可以自己增加和修改,以適合自己的網(wǎng)站;
將下面代碼保存到err404.html,然后設置404錯誤頁面為err404.html頁;
<script type="text/javascript" language="javascript"> var id=/(detial|show)\.asp\?id\=([0-9]+)/gi; var flag=/([a-z0-9_]+)\.asp\?flag\=xml/gi; var re_id=/(detial|show)\_([0-9]+)\.html/gi; var re_flag=/([a-z0-9_]+)\.rss/gi; var host='blog.ii-home.cn'; var ss=window.location.href; //ss=ss.replace(window.location.hostname,host); var Temp=getasp(ss); getNotice(Temp); function createobj() { if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { return new XMLHttpRequest(); } } function getNotice(url) { var oBao=createobj(); var my_url=url; oBao.open('get',my_url,false); oBao.onreadystatechange=function(){ if(oBao.readyState==4){ if(oBao.status==200){ var returnStr=oBao.responseText; var Temps=gethtml(returnStr); document.write(Temps); }else{ document.write("未找到您輸入的地址或服務器505錯誤!"); } } } oBao.send(null); } //將str中的asp網(wǎng)址按照正則替換 function gethtml(str){ var Temp_str=str.replace(id,'$1_$2.html'); Temp_str=Temp_str.replace(/index\.asp/gi,'index.html'); Temp_str=Temp_str.replace(/myfiles\.asp/gi,'myfiles.html'); Temp_str=Temp_str.replace(/mydiary\.asp\?typ\=self/gi,'mydiary_self.html'); Temp_str=Temp_str.replace(/mydiary\.asp/gi,'mydiary.html'); Temp_str=Temp_str.replace(flag,'$1.rss'); Temp_str=Temp_str.replace(/xml_diary\.asp/gi,'xml_diary.html'); Temp_str=Temp_str.replace(/xml_download\.asp/gi,'xml_download.html'); Temp_str=Temp_str.replace(/xml_links\.asp/gi,'xml_links.html'); Temp_str=Temp_str.replace(/xml_ly\.asp/gi,'xml_ly.html'); Temp_str=Temp_str.replace(/ly\.asp/gi,'ly.html'); //Temp_str=Temp_str.replace(/href=\"(http){0}/gi,'); return(Temp_str); } //將URL替換成原地址 function getasp(str){ var Temp_str=str.replace(re_id,'$1.asp?id=$2'); Temp_str=Temp_str.replace(/index\.html/gi,'index.asp'); Temp_str=Temp_str.replace(/myfiles\.html/gi,'myfiles.asp'); Temp_str=Temp_str.replace(/mydiary\.html/gi,'mydiary.asp'); Temp_str=Temp_str.replace(/mydiary\_self.html/gi,'mydiary.asp?typ=self'); Temp_str=Temp_str.replace(/xml_diary\.html/gi,'xml_diary.asp'); Temp_str=Temp_str.replace(/xml_download\.html/gi,'xml_download.asp'); Temp_str=Temp_str.replace(/xml_links\.html/gi,'xml_links.asp'); Temp_str=Temp_str.replace(/xml_ly\.html/gi,'xml_ly.asp'); Temp_str=Temp_str.replace(/ly\.html/gi,'ly.asp'); Temp_str=Temp_str.replace(re_flag,'$1.asp?flag=xml'); return(Temp_str); } </script>
一般來說通過js才可以獲取當前404頁面網(wǎng)址,如果是asp、php獲取的就是404頁面的url,所以結合js與php或asp比較好。
例如:通過404觸發(fā)asp執(zhí)行一些操作
<script> var pathname = window.location.pathname; location.replace("/do.asp?p="+pathname); </script>
注意:一般情況下不會給太高權限的服務器,不能復制等操作。
您可能感興趣的文章:
- AspNetPager分頁控件UrlRewritePattern參數(shù)設置的重寫代碼
- asp.net用url重寫URLReWriter實現(xiàn)任意二級域名 高級篇
- asp.net用url重寫URLReWriter實現(xiàn)任意二級域名 新
- asp.net用url重寫URLReWriter實現(xiàn)任意二級域名
- asp.net下用url重寫URLReWriter實現(xiàn)任意二級域名的方法
- windows server 2008R2系統(tǒng) IIS7.5配置偽靜態(tài)的方法(urlrewrite)
- URLRewriter最簡單入門介紹 URLRewriter相關資源
- 關于Server.Transfer(URL)和UrlReWrite的一個突發(fā)奇想
- UrlRewrite 重寫url詳解及實例
相關文章
JavaScript偽數(shù)組和數(shù)組的使用與區(qū)別
這篇文章主要給大家介紹了關于JavaScript偽數(shù)組和數(shù)組使用與區(qū)別的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-05-05