我有一个网站“mywebsite.com”,我想将“http://mywebsite.com”重定向为“http://www.mywebsite.com”(通常用于SEO)。
我正在运行IIS7,但是在网站前面有一个ISA服务器防火墙,看起来(根据这篇文章,虽然他的解决方案对我不起作用 - http://mrvirtual.de/2009/07/04/url-rewrite-through-isa-server-ends-in-a-loop/)导致重写规则进入无限重定向循环。
DNS由Godaddy(TotalDNS)管理。有没有办法配置DNS或域转发,以便我可以在到达ISA防火墙/ IIS之前完成重定向?这似乎更容易(如果可能),而不是试图追踪和修复ISA,IIS问题(虽然如果有人有解决方案,我会接受它。)
答案 0 :(得分:1)
“IIS重定向到www”的第一个结果:
答案 1 :(得分:1)
如果你使用的是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 url到www url
希望这有助于伙伴。
答案 2 :(得分:0)
我撤回了我的陈述,即上述文章没有解决问题。我只是没有尝试足够的变化。在ISA服务器策略中,“收件人”选项卡,“此规则适用于此发布的网站”文本框,我将字段从www.mywebsite.com(这是IIS中列出的方式)更改为仅仅是MyWebsite ...看起来我可以把它作为任何文本字符串,只要它不是重定向中使用的实际站点的名称(mysite.com和www.mysite.com都会导致无限循环)。如上所述更改了它并解决了问题。感谢mudand mudand。 - 基因0秒前
答案 3 :(得分:0)
如果您正在开发ASP NET,那么可以使用全局asax的application_beginrequest事件来应用一个简单的修复
答案 4 :(得分:0)
为什么要尝试复杂的事情?只需尝试以下文件名为.htacces的代码,然后将其上传到您的网站托管服务器的根文件夹(public_html)中即可。
RewriteCond%{HTTP_HOST} ^ www.example.com $ RewriteRule ^ /?$“ http://example.com/” [R = 301,L]