URL 重写规则以删除 www.对于除 1 以外的所有 URL
URL Rewrite Rule to remove www. for all URLs except for 1
我有一个删除 www.对于所有进入的网址。我有一个 webserivce,重定向将从 POST 更改为 GET。我需要从这条规则中排除 URL https://www.foo.net/WebServices/service.asmx。
我查看了有关 SO 的其他解决方案,但没有成功。
<rewrite>
<rules>
<rule name="Remove WWW" enabled="true" stopProcessing="true">
<match url=".*"/>
<conditions>
<add input="{HTTP_HOST}" pattern="^(www\.)(foo\.net)" />
</conditions>
<action type="Redirect" url="https://{C:2}/{R:1}" />
</rule>
</rules>
</rewrite>
您可以通过向 "not match" 添加条件(又名添加 "negate='true'" )轻松做到这一点,这样的事情应该有效:
<rules>
<rule name="Remove WWW" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.foo\.net$" />
<add input="{URL}" pattern="^/WebServices/service\.asmx$" negate="true" />
</conditions>
<action type="Redirect" url="https://foo.net/{R:1}" />
</rule>
</rules>
我有一个删除 www.对于所有进入的网址。我有一个 webserivce,重定向将从 POST 更改为 GET。我需要从这条规则中排除 URL https://www.foo.net/WebServices/service.asmx。
我查看了有关 SO 的其他解决方案,但没有成功。
<rewrite>
<rules>
<rule name="Remove WWW" enabled="true" stopProcessing="true">
<match url=".*"/>
<conditions>
<add input="{HTTP_HOST}" pattern="^(www\.)(foo\.net)" />
</conditions>
<action type="Redirect" url="https://{C:2}/{R:1}" />
</rule>
</rules>
</rewrite>
您可以通过向 "not match" 添加条件(又名添加 "negate='true'" )轻松做到这一点,这样的事情应该有效:
<rules>
<rule name="Remove WWW" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.foo\.net$" />
<add input="{URL}" pattern="^/WebServices/service\.asmx$" negate="true" />
</conditions>
<action type="Redirect" url="https://foo.net/{R:1}" />
</rule>
</rules>