0

我有一个托管在 GoDaddy 上的网站。网址是 www.boatronix.com。这些文件位于文件夹“/boatronix”中,该文件夹又位于文件夹“/_sites”中。我有一个包含 SiteNav.ascx 的母版页(位于根目录下的“Controls”文件夹中),它的页面链接全部带有“../sales.aspx”或“../operations.aspx”的网址“ 等等。当我转到其中一个页面时,所有页面都在同一个根目录中,我得到一个在“boatronix.com/sales.aspx”上方带有地址栏的页面,就像它应该的那样。

我在母版页上也有 ASP.net 会员登录控件,其中一个导航链接指向受限页面。当我从任一路由重定向到 login.aspx(请求受限页面或单击 loginStatus 控件中的“登录”按钮)时,我被带到 login.aspx,但上面的地址栏现在附加了“boatronix.aspx”。 com/_sites/boatronix/login.aspx。”

问题:这是一个不受欢迎的结果,因为查询字符串中的 returnUrl,然后每个后续页面请求都被搜索为“boatronix.com/_sites/boatronix/page.aspx”,所以我的导航链接现在都被破坏了。

我的问题:登录控件的“doPostBack”功能的脚本是否应该归咎于——这就是 GoDaddy 的技术线告诉我的问题;或者,我是否需要在 IIS、我的代码或我的 web.config 中解决这个问题?(例如,设置任何虚拟目录规则)

如果您访问站点“www.boatronix.com”并单击右上角的“登录”链接,您会看到页面请求似乎将一个目录从“/boatronix”追溯到“_sites”然后从那里继续-我试图阻止它这样做并保留在根目录中。

非常感谢您的寻找和任何建议。

4

1 回答 1

2

如果不完全查看站点的结构,很难弄清楚您的问题是什么,但听起来您需要在 Web.Config 中调整登录页面 URL。

当您访问任何受保护的页面时,ASP.NET 会将您定向到登录 url,其中包含查询字符串参数中的引用页面,其中包含 key ReturnURL。如果要调整重定向的loginUrl位置,则需要调整 Web.Config 中的位置。

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>

请参阅:MSDN 上的身份验证 Web.Config

于 2012-08-27T21:50:50.030 回答