如何在 IIS 上运行的受保护网站上显示默认页面

如何在 IIS 上运行的受保护网站上显示默认页面

我无法找出 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>

相关内容