Asp.net 与http://http://www
我有一个托管在临时服务器上的应用程序。如果我通过提供凭据来使用我的应用程序,我可以打开URL=>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。这是怎么发生的 我的问题是:
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
这可以通过使用
方法、URL重写模块或几种方法中的任何一种来实现。从一个URL到另一个URL的重定向可以通过多种方式处理。一对夫妇是:Response.Redirect
- Meta refresh标记,位于,包含以下内容:
这将用于从外部重定向(HTTP 302)任何与www.mysite.com不匹配的主机。 同样的情况也可能发生在IIS中<meta http-equiv="refresh" content="1;url=http://www.mysite.com">
如果无法执行推荐的任何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>