2011-02-27 82 views
4

确定。我有一个荒谬的问题。我正在尝试使用URL重写从www.domain.com重定向到www.domain.com/default.aspx。如何强制Default.aspx的,而不是www.domain.com

我想设置的Default.aspx作为默认文档会自动删除用户那里。但由于某种原因,它仍然出现www.domain.com。

我想它去www.domain.com/default.aspx的原因是,在页面上登录控件似乎并不想工作时,它仅仅是www.domain.com。但是,当然,如果我输入www.domain.com/default.aspx,那么登录工作正常。如果是www.domain.com,登录控件似乎根本不会发布。无论如何,我试图避免排除故障,为什么登录控制不会触发,只要有人试图去www.domain.com就强迫它登陆default.aspx。我正在使用IIS7。这里的任何想法?

+0

当你进入www.domain.com该文件被加载? – adt 2011-02-27 22:09:16

+0

default.aspx。除了它不显示在网址中。该网址停留在www.domain.com。 – 2011-02-27 22:13:53

+0

我认为默认(没有双关语意思)是,如果你设置一个默认的起始页面,IIS会找到它,然后转到那里,看起来像这样的网址www.domain.com \ default.aspx。所以我不确定在IIS7中是否发生了变化,或者我是有史以来最糟糕的asp.net程序员。 :) – 2011-02-27 22:15:12

回答

5

的前面回答必须做在ASP.NET 4回答一个重大更改是表单的动作是空action=""当无扩展名的URL根。但如果在同一页面上,但在URL有网页的名称(blahblah.com/default.aspx)的作用被填充。在简单的办法解决我是把Me.Form.Action = "Default.aspx"在首页的页面加载。问题修复。

+0

谢谢你,这救了我一吨头发拉扯和发誓。我现在需要找点别的方式来处理我今天剩下的事情:) – Jim 2011-07-06 19:18:34

5

您可以添加这样的事情你的Default.aspx后面的代码(在Page_Load方法):

if (Request.Url.LocalPath == "/") 
{ 
    Response.Redirect("~/Default.aspx"); 
} 

注意,默认文档通常设置允许在www.domain.com将要显示的页面/ www.domain.com/default.aspx(它不会为你做任何重定向)。

+0

好的。我现在要试试... – 2011-02-27 22:19:50

+0

当它。这没有用。好。以下是其他一些信息。我使用web.config中的rewrite强制整个站点使用HTTPS。 – 2011-02-27 22:23:51

+0

<规则名称= “HTTP到HTTPS重定向” stopProcessing = “真”> <匹配URL = “(。*)”/> <添加输入= “{HTTPS}” 图案=”关” IGNORECASE = “真”/> <动作类型= “重定向” redirectType = “找到” URL = “HTTPS:// {HTTP_HOST}/{R 1}”/> 2011-02-27 22:24:40

相关问题