我要将不带-www的地址重定向到带-www的地址:
<rewrite>
<rules>
<rule name="Hostname">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.mydomain\.com$" negate="true" />
<add input="{HTTP_HOST}" pattern="localhost" negate="true" />
</conditions>
<action type="Redirect" url="http://www.mydomain.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>但我知道我想以相反的方式重定向一个子域,所以:
www.blog.mydomain.com would become blog.mydomain.com我该怎么做呢?
谢谢你,米格尔
发布于 2014-07-22 03:16:45
也许这应该行得通:
<rewrite>
<rules>
<rule name="Hostname">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^blog\.mydomain\.com$" negate="true" />
<add input="{HTTP_HOST}" pattern="localhost" negate="true" />
</conditions>
<action type="Redirect" url="//blog.mydomain.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>这将检查HTTP_HOST部件是否不是blog.mydomain.com或localhost,如果不是,它将重定向到blog.mydomain.com。
发布于 2014-07-22 04:01:21
基于我上面的评论的例子。
<rewrite>
<rules>
<rule name="Hostname">
<match url="([a-zA-Z0-9]*.blog.mydomain.com)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.mydomain\.com$" negate="true" />
<add input="{HTTP_HOST}" pattern="localhost" negate="true" />
</conditions>
<action type="Redirect" url="blog.mydomain.com" redirectType="Permanent" />
</rule>
</rules>
</rewrite>要点:需要注意的关键一点是,只有当您的服务器仍然接受www.blog.mydomain.com时,这才能起作用。由于这是一个重定向,这意味着托管此重定向的服务器hit实际上托管的是www.blog.mydomain.com或*.blog.mydomain.com。如果不是,那么DNS记录从一开始就不会将浏览器路由到站点。
发布于 2014-07-22 04:05:34
我想你所要求的是,如果有任何域名前面有一个www.,就把它去掉。这很简单:
<rewrite>
<rules>
<rule name="Hostname">
<match url="^www\.(.+)" />
<action type="Redirect" url="http://{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>https://stackoverflow.com/questions/24871632
复制相似问题