Azure网站的URL重定向

时间:2016-01-13 16:28:15

标签: regex .htaccess azure iis-7

我正在尝试为规范名称实现url重定向,在IIS中,我正在使用Azure,因此需要在web.config中完成。

有2个域名www。示例 .com和www。 example1 .com,还有一个博客位于www.example1.com/ 博客< / strong>所有上述网址我们没有www 需要重定向到www。 example1 .com并保留.com之后的任何文字等博客等。

我正在尝试实现以下功能,但要么无法解析URL或无限循环,我对regex不太熟悉,所以似乎无法使一切正常运行。

这是我到目前为止所拥有的

<rule name="Root Redirect" stopProcessing="true">
                    <match url=".*" negate="false" />
                    <action type="Redirect" url="http://www.example1.com/{R:0}" />
                    <conditions trackAllCaptures="true">
                        <add input="{HTTP_HOST}" pattern="^www\.example.com$" />
                    </conditions>
                </rule>

                <rule name="www Redirect" patternSyntax="Wildcard" stopProcessing="true">
                    <match url=".*" negate="false" />
                    <action type="Redirect" url="http://www.example1.com/{R:1}" />
                    <conditions trackAllCaptures="true">
                        <add input="{HTTP_HOST}" pattern="http://example1.com" />
                    </conditions>
                </rule>

以上代码适用于所有情况,除了2(在chrome中抛出错误)和4(根本没有重定向)。希望这有助于并提前感谢: - )

1 个答案:

答案 0 :(得分:0)

在域名中强制执行www的规则:

<rule name="WWW" enabled="true" stopProcessing="true">
  <match url=" (.*)" />
  <conditions >
    <add input="{HTTP_HOST}" pattern="^www\.example\.com$" negate="true" />
  </conditions>
  <action type="Redirect" url="http://www.example.com/{R:1}" redirectType="Permanent" />
</rule>

从另一个域重定向的规则(转义所有句点):

<rule name="Root Redirect" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTP_HOST}" pattern="^(www)?\.example\.com$" />
  </conditions>
  <action type="Redirect" url="http://www.example1.com/{R:1}" />
</rule>