我想在IIS7网络服务器上实现重定向。基本上,如果子域未包含在URL中,我将重定向到www子域。
http://mysite.com/file.aspx重定向到http://www.mysite.com/file.aspx
http://mysite.com/image.jpg重定向到http://www.mysite.com/image.jpg
http://mysite.com/text.html重定向到http://www.mysite.com/text.html
怎么做?
我不想编写任何HTTP模块 - 它必须通过IIS配置完成。
另外,我需要使用Classic Pipeline模式,不能安装任何ISAPI插件。
有可能吗?
答案 0 :(得分:0)
您可以将其放入web.config文件中:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to WWW" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^http://mysite.com$" />
</conditions>
<action type="Redirect" url="http://www.mysite.com/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
在IIS7中,可以通过url rewrite部分完成。
答案 1 :(得分:0)
这个解决方案对我有用:
1)安装URL Rewrite组件:
http://www.iis.net/download/urlrewrite
2)添加到web.config:
<system.webServer>
<rewrite>
<rules>
<rule name="CanonicalHostNameRule1" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^mysite\.com$" />
</conditions>
<action type="Redirect" url="http://www.mysite.com/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>