我有以下内容将无www地址重定向到with-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
我该怎么做?
谢谢你, 米格尔
答案 0 :(得分:0)
可能这应该有效:
<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
。
答案 1 :(得分:0)
根据我上面的评论举例。
<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时,这才有效。由于这是一个重定向,这意味着托管此重定向的服务器实际上托管了www.blog.mydomain.com或* .blog.mydomain.com。如果不是,那么DNS记录将永远不会将浏览器路由到该站点。
答案 2 :(得分:0)
我认为您要求的是,如果任何域名在前面有www.
,请将其删除。这很简单:
<rewrite>
<rules>
<rule name="Hostname">
<match url="^www\.(.+)" />
<action type="Redirect" url="http://{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>