Asp.net 与http://http://www

Asp.net 与http://http://www,asp.net,.net,iis,dns,Asp.net,.net,Iis,Dns,我有一个托管在临时服务器上的应用程序。如果我通过提供凭据来使用我的应用程序,我可以打开URL=>http://mysite.com 但是,如果我将url更改为http://www.mysite.com,该站点再次显示登录页面以请求凭据(我刚刚提供) 现在在临时服务器上,如果我键入http://mysite.com在地址栏中,我被发送到http://mysite.com。但是当我在地址栏中输入google.com时,我会被带到http://www.google.com。这是怎么发生的 我的问题是:

我有一个托管在临时服务器上的应用程序。如果我通过提供凭据来使用我的应用程序,我可以打开URL=>
http://mysite.com

但是,如果我将url更改为
http://www.mysite.com
,该站点再次显示登录页面以请求凭据(我刚刚提供)

现在在临时服务器上,如果我键入
http://mysite.com
在地址栏中,我被发送到
http://mysite.com
。但是当我在地址栏中输入google.com时,我会被带到
http://www.google.com
。这是怎么发生的


我的问题是:当我的应用程序上线并键入
mysite.com
时,url会转换为
http://www.mysite.com
还是我需要做些什么来将url转换为包含
www
的url?

您需要设置一个转发器来将
www
子域转发到根域

以下是一些方法:


    • 您似乎在问几个不同的问题:

      首先-为什么您得到
      http://www.google.com
      键入
      http://google.com

      这是因为谷歌在服务器端执行重定向,所以每个人都会转到
      http://google.com
      http://www.google.com
      /

      通过将每个调用重定向到
      http://www.mysite.com
      http://mysite.com


      这可以通过使用
      Response.Redirect
      方法、URL重写模块或几种方法中的任何一种来实现。

      从一个URL到另一个URL的重定向可以通过多种方式处理。一对夫妇是:

    • Meta refresh标记,位于,包含以下内容:

      <meta http-equiv="refresh" content="1;url=http://www.mysite.com">
      
      这将用于从外部重定向(HTTP 302)任何与www.mysite.com不匹配的主机。 同样的情况也可能发生在IIS中


    • 如果无法执行推荐的任何URL重写方法,则需要配置身份验证模块以使用正确的共享域cookie

      如果您使用的是表单身份验证,可以在web.config中实现:

      <forms name="name" 
             loginUrl="URL" 
             defaultUrl="URL"
             domain=".example.com">
      </forms>
      
      
      
      请注意域中的前导周期-这会写入一个可从example.com和www.example.com读取的身份验证cookie,这意味着您现在将登录到站点的两个变体


      尽管如此,Skilldrick给出的最后一个例子效果很好,对于您的站点来说应该是相当简单的。

      我不会给出响应。重定向只会发出一个临时重定向(302),而一些搜索引擎不喜欢这些,最好使用生成301永久重定向的方法,如Skilldrick()提供的上一个示例。如果我以任何站点为例,其中75%的站点将添加www作为前缀。我想知道这是不是所有的东西都是在代码背后处理的,还是可以通过IIS中的一些技巧来实现的?他们中的许多人只注册了带有www前缀的域,因此尝试转到非www将失败。其他人不做任何类型的重定向,两者都可以工作。我在不同的站点上使用与上一个选项非常类似的方法来执行此操作。我的IIS是6.0。在这种情况下,我可以使用URL重写器吗?确定。。让我试试这个。在此之前,让我问一个疑问……name=“name”是什么意思,这表示什么?loginurl和默认url是否相同?
      <forms name="name" 
             loginUrl="URL" 
             defaultUrl="URL"
             domain=".example.com">
      </forms>