Windows Azure:将网站从 www 重定向到非 www

Windows Azure: redirect website from www to non-www

我的服务器上有这个 web.config 文件。

<rewrite>
   <rules>

      <rule name="HTTP to HTTPS redirect" stopProcessing="true">
         <match url="(.*)" />
         <conditions>
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
         </conditions>
         <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
      </rule>

      <rule name="Rule" stopProcessing="true">
         <match url="^(.*)$" ignoreCase="false" />
         <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
            <add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
         </conditions>
         <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
      </rule>

   </rules>
</rewrite>

我想将 URL 从 www 重定向到非 www。例如,如果用户输入 www.exmaple.com,它应该转到 https://example.com

如何在上面的代码中编辑这样的东西。谢谢。

你可以这样做(我已将 https/non-www 条规则合并到一条规则中)

<rule name="HTTPS and non-WWW only" stopProcessing="true">
    <match url="^(.*)$" />
    <conditions logicalGrouping="MatchAny">
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        <add input="{HTTP_HOST}" pattern="^www\." ignoreCase="true" />
    </conditions>
    <action type="Redirect" redirectType="Found" url="https://example.com/{R:1}" />
</rule>

<rule name="Generic default rule" stopProcessing="true">
    <match url="^(.*)$" />
    <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{REQUEST_URI}" pattern="^/favicon\.ico$" ignoreCase="true" negate="true" />
    </conditions>
    <action type="Rewrite" url="/index.php/{R:1}" appendQueryString="true" />
</rule>