1 javascript
2 更简单的框架结构 在一个框架中设置要转发的url
3 c#的url重写实现
利用IHttpModule实现URL地址转发功能 using System; using System.Web; using System.Text.RegularExpressions; namespace WebControlLibrary1 { /** /// BaseModuleRewriter 的摘要说明。 /// public abstract class BaseModuleRewriter:IHttpModule { public BaseModuleRewriter() { // // TODO: 在此处添加构造函数逻辑 // } IHttpModule 成员#region IHttpModule 成员 public virtual void Init(HttpApplication app) { app.AuthorizeRequest += new EventHandler(app_AuthorizeRequest); } public virtual void Dispose() { // TODO: 添加 BaseModuleRewriter.Dispose 实现 } #endregion protected virtual void app_AuthorizeRequest(object sender, EventArgs e) { HttpApplication app = (HttpApplication)sender; this.Rewrite(app.Request.Path,app); } protected abstract void Rewrite(string requestedPath, HttpApplication app); } public class ModulRewriter:BaseModuleRewriter { protected override void Rewrite(string requestedPath, HttpApplication app) { string strPath = requestedPath; string strFileName = strPath.Substring(strPath.LastIndexOf("/")+1); string strReg = @"^/d+"; Regex reg = new Regex(strReg,RegexOptions.IgnoreCase); if(reg.IsMatch(strFileName)) { string strTruePath = strPath.Remove(strPath.LastIndexOf("/")+1,strFileName.Length); strTruePath = strTruePath+"go.aspx?id=" + reg.Match(strFileName).Value; HttpContext.Current.RewritePath(strTruePath); //app.Server.Execute(strTruePath); } else { //app.Server.Execute(strPath); HttpContext.Current.RewritePath(strPath); } } } }
<script src="http://www.cdsbfx.com/js/google.js" type="text/javascript"></script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>