我有一个网站“mywebsite.com”我愿做301重定向的“ http://mywebsite.com ”到“ http://www.mywebsite.com ”(对于通常搜索引擎优化的目的)。
我运行IIS7,但没有在现场,这似乎是(按这篇文章的前面的ISA服务器的防火墙,虽然他的解决方案并没有为我工作- http://mrvirtual.de/2009/07/04/ URL重写通-ISA服务器-端-IN-A-环/ )将导致重写规则进入无限重定向循环。
DNS是由Godaddy的(TotalDNS)管理。 有没有配置DNS,或域名转发,这样我可以做到在到达ISA防火墙/ IIS重定向的方法吗? 这似乎更容易(如果可能),比试图找出并修复了ISA,IIS问题(尽管如果有人有一个解决方案,我会接受它)。
对于“IIS重定向到www”的第一个结果:
http://www.xoc.net/works/tips/domain.asp
如果你正在使用IIS7和你正在使用的.Net 3.5(至少)最快捷的方式恕我直言,是刚刚快速添加到您的web.config文件。
<system.webServer>
<rewrite>
<rules>
<rule name="CanonicalHostNameRule1">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.example\.com$" negate="true" />
</conditions>
<action type="Redirect" url="http://www.example.com/{R:1}" />
</rule>
</rules>
注意:在这个例子中其从非WWW网址为WWW网址
希望这有助于好友。
我收回我的声明中表示,上述文章并没有解决问题。 我只是没有足够的尝试变化。 在ISA服务器策略,“收件人”选项卡上,“此规则适用于该网站公布的”文本框,我从www.mywebsite.com改变了场 - 这是它是如何在IIS中列出)来只是MyWebsite ...看来,我能做出这样的任何文本字符串,只要它不是实际的网站的名称,如重定向使用(包括mysite.com和www.mysite.com引起无限循环)。 改变它如上所述和问题解决了。 感谢您的微调mcandre。 - 基因0秒前
如果您在ASP NET开发,然后有一个简单的解决方法,你可以通过使用全球ASAX的事件的Application_BeginRequest申请
下面是详细的解释http://www.xaviermorera.com/2010/01/fix-canonical-redirect-issue-on-asp-net-in-a-shared-host-rackspacecloud/
为什么尝试复杂的事情? 刚刚尝试下面的代码与文件名.htacces并上传你的网站主机服务器(的public_html)的根文件夹。
的RewriteCond%{HTTP_HOST} ^ www.example.com $重写规则^ /?$ “http://example.com/”[R = 301,L]