我无法找出 web.config 中的正确语法,以允许公众将 index.aspx 视为默认页面,并让任何其他页面通过登录页面。
如果我使用www.mywebsite.com/index.aspx页面显示正常,我不需要登录。但如果我尝试www.mywebsite.com我被重定向到 login.aspx 页面。如果没有指定具体页面,有没有办法显示 index.aspx?
<!-- Allow the login page -->
<location path="Login.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<!-- Allow the index.aspx page -->
<location path="Index.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<!-- deny the root folder -->
<location path="">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
....
<authentication mode="Forms">
<forms name="GI" loginUrl="/Login.aspx" defaultUrl="/default.aspx" protection="All" timeout="180" />
</authentication>
答案1
我找到了一个解决方案那条评论不久前就做过。通过添加重写规则,它确实奏效了,因为距离我找到答案的帖子已经过去了 10 年,也许现在存在一种更聪明的方法。
<rewrite>
<rules>
<rule name="Rewrite to Index.aspx">
<match url="^$" />
<action type="Rewrite" url="Index.aspx" />
</rule>
</rules>