解决方案 »
- 求ASP.NET验证与授权的教程or案例
- 【高分】征求最好的设计方案。。。。。。
- 怎么追她这么困难的,该不该放弃呀
- 求问
- VS2005做网站时,项目中新建的CS类文件,为何必须存放在App_code文件夹下.
- dropdownlist问题
- 服务器权限
- 如何操作Repeater控件中嵌套DropDownList控件?
- 在VS.net中,在WEBFORM内有一按钮,其中有个Anchor属性,是啥含义??
- 页面上的activex控件会遮住html控件,怎么办?
- 数据库中的图片路径读出来兵显示问题?
- 我用asp.net新建了一个网站,运行后提示“成员名称不能与它们的封闭类型相同”的错误信息,如何解决?
Implements IHttpModule
Private Shared wwwRegex As New Regex("https?://www\.", RegexOptions.IgnoreCase Or RegexOptions.Compiled) Public Sub Dispose() Implements System.Web.IHttpModule.Dispose End Sub
Public Sub Init(ByVal context As System.Web.HttpApplication) Implements System.Web.IHttpModule.Init
AddHandler context.BeginRequest, AddressOf BeginRequest
End Sub Private Sub BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
Dim app As HttpApplication = CType(sender, HttpApplication)
Dim Request As HttpRequest = app.Request
Dim Response As HttpResponse = app.Response
Dim sRequestedURL As String = Request.Url.ToString.ToLower
Dim sRequestedRawURL As String = Request.RawUrl
Dim bWWW As Boolean = wwwRegex.IsMatch(sRequestedURL)
Dim redirectURL As String = String.Empty
If bWWW AndAlso sRequestedURL.EndsWith(".aspx") Then
redirectURL = wwwRegex.Replace(sRequestedURL, String.Format("{0}://", Request.Url.Scheme))
Do301Redirect(Response, redirectURL)
End If If sRequestedURL.EndsWith("/") Then
Rewrite(app)
ElseIf Not sRequestedRawURL.Contains(".") Then
Rewrite(app)
End If End Sub Private Sub Do301Redirect(ByVal Response As HttpResponse, ByVal redirectURL As String)
Response.RedirectLocation = redirectURL
Response.StatusCode = 301
Response.End()
End Sub Private Sub Rewrite(ByVal app As HttpApplication)
Dim request As HttpRequest = app.Request
Dim strHost As String = request.Url.Host
Dim requestedURL As String = app.Context.Request.Url.ToString Using lSiteMapRst As New SiteMapRepository(Globals.Settings.DefaultConnectionStringName)
Dim lURLFile As String = Helpers.GetURLPath(requestedURL).ToUpper
Dim Settings As FYDQSection = CType(WebConfigurationManager.GetSection("FYDQ"), FYDQSection)
Dim lSiteMap As SitemapInfo = lSiteMapRst.GetItem(lURLFile.Replace(Settings.devSiteName.ToUpper & "/", ""), True) If Not IsNothing(lSiteMap) Then
If lSiteMap.RealURL <> lURLFile Then
HttpContext.Current.RewritePath("~/" & lSiteMap.RealURL, False)
ElseIf lSiteMap.URL <> lSiteMap.RealURL Then
Do301Redirect(app.Response, Path.Combine(Globals.Settings.SiteDomainName, lSiteMap.URL))
End If
Else '注意分配的IP地址,此处以192.168.1.2为例
If Not requestedURL.EndsWith(".2") AndAlso Not requestedURL.EndsWith(".2/") Then
app.Response.Redirect(Globals.Settings.SiteDomainName & "/错误404/")
End If End If End Using
End SubEnd Class
发布到虚拟空间后,没权利修改啊
哦,不设置映射.html页面吗?
本地的iis是托管模式的吗?什么是托管模式?什么是集成模式?
非要绕那么大弯子 公司买不起 服务器?还是你们就无权更改。。无权更改 也得说明下