虚拟目录和尾部斜杠

Virtual directory and trailing slash

我在 IIS 的 Default Web Site 节点下发布了两个网站:

> Default Web Site
    > Site1
    > Site2

他们应该回复以下内容 URL:

该网站受身份验证保护,因此第一个页面是登录页面。我得到的URL如下:

http://localhost/Site1/Account/Login?ReturnUrl=%2fSite1

输入用户名和密码后,网站无法将我重定向到主页并始终登陆登录页面(即使身份验证已正确完成,因为如果我写 URL网站,这将正常工作)。

但是,如果我强制开始 URL 到(在末尾添加反斜杠):

http://localhost/Site1/Account/Login?ReturnUrl=%2fSite1/

网站运行正常。此外,即使我将其发布为独立网站(不是默认网站的应用程序),该网站也能正常运行:

> Default Web Site
> Site1
> Site2

我的 IIS 配置是否遗漏了什么?

更改端口号并尝试

两个站点的端口继承自默认网站端口号

更好的做法是让每个 application/site 成为根目录并为它们提供不同的端口。

希望这会有所帮助。

原来这是一个已知问题。 通过更多研究,我发现这是一个尾部斜线问题,我使用 IIS URL Rewrite 解决了这个问题,按照建议 here and here