除www外的任何内容上的Regex URL匹配

除www外的任何内容上的Regex URL匹配,regex,iis-7,url-rewriting,Regex,Iis 7,Url Rewriting,我正在使用IIS7和URL重写模块 我想使用正则表达式来匹配除www.com以外的任何子域 所以 这样,我可以将某人键入的任何子域重定向回www。您可以使用301 in.htaccess进行此操作。这将符合您的要求: ^(?!=www\.).* 这是www.的一个负面展望。不确定是否需要尾部的*使用此规则--如果域不同,它将重定向到www.exmaple.com域: <system.webServer> <rewrite> <rul

我正在使用IIS7和URL重写模块

我想使用正则表达式来匹配除www.com以外的任何子域

所以


这样,我可以将某人键入的任何子域重定向回www。

您可以使用301 in.htaccess进行此操作。

这将符合您的要求:

^(?!=www\.).*
这是
www.
的一个负面展望。不确定是否需要尾部的
*
使用此规则--如果域不同,它将重定向到
www.exmaple.com
域:

<system.webServer>
      <rewrite>
          <rules>
              <rule name="Force www" 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}" />
              </rule>
          </rules>
      </rewrite>
  </system.webServer>

如果您不想键入两次域名(
example.com
),您可以对其进行一些优化——但这是一件非常次要的事情,根据您的环境/配置,它可能是不需要的

<system.webServer>
      <rewrite>
          <rules>
              <rule name="Force www" 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}" />
              </rule>
          </rules>
      </rewrite>
  </system.webServer>