默认文档未显示完整的url
我发现iis设置的默认文档有问题。在我的网站(http://mysite)我提供了默认文档作为登录页面。当用户键入url时(http://mysite)它会将用户重定向到登录页面,但不会显示完整的url(http://mysite/login.aspx). 看起来默认文档执行server.transfer而不是response.redirect。正因为如此,当用户输入他们的凭据,然后单击“登录”时,它会再次将他们重定向到登录位置,并从此处开始正常工作。所以用户必须输入他们的凭据两次 我的应用程序是在.NET3.5上开发的默认文档未显示完整的url,url,iis,.net-3.5,Url,Iis,.net 3.5,我发现iis设置的默认文档有问题。在我的网站(http://mysite)我提供了默认文档作为登录页面。当用户键入url时(http://mysite)它会将用户重定向到登录页面,但不会显示完整的url(http://mysite/login.aspx). 看起来默认文档执行server.transfer而不是response.redirect。正因为如此,当用户输入他们的凭据,然后单击“登录”时,它会再次将他们重定向到登录位置,并从此处开始正常工作。所以用户必须输入他们的凭据两次 我的应用程序
是否有一种方法可以实现response.redirect 在与默认文档相同的文件夹中,放置名为web.Config(no.txt、.xml或任何其他扩展名)的文本文件,其确切内容如下:
<?xml version="1.0"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to login" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{URL}" pattern="^/$" />
</conditions>
<action type="Redirect" url="/login.aspx" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
使用index.html作为基本目录中的默认文档。在此index.html中,使用元刷新或javascript重定向到login.aspx页面。请参阅以下示例元刷新代码 你的项目
website
index.html
secure/login.aspx
index.html
<!DOCTYPE html>
<html>
<head>
<title>YOUR PROJECT NAME</title>
<meta http-equiv="refresh" content="0;URL='http://www.YOURDOMAIN:COM/secure/login.aspx'" />
</head>
<body>
<p> Click to
<a href="http://www.YOURDOMAIN:COM/secure/login.aspx">Login</a>
</p>
</body>
</html>
您的项目名称
点击
在登录页面的第一页写下以下几行
Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init
If Not MyBase.IsPostBack Then
If HttpContext.Current.Request.Url.ToString.Contains("Login") = False Then
Response.Redirect("~/Login.aspx")
End If
End Sub
您好,您的意思是我应该在登录页面所在的文件夹中放置另一个web.config吗?。我的登录页面位于不同的文件夹中。它不在根文件夹的正下方。其他?在一个文件夹中,一个文件名只能使用一次。如果该文件夹中已有web.config,则必须与此XML代码合并。这可能是一个比公认的更好的解决方案,谢谢!