我的重定向规则存在问题。我希望我的网页会有“www”前缀。它适用于某些页面,而在其他页面上它根本不做任何事情。这是我的规则:
<rule name="WWW Rewrite" enabled="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" negate="true"
pattern="^www\.([.a-zA-Z0-9]+)$" />
</conditions>
<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}"
appendQueryString="true" redirectType="Permanent" />
</rule>
任何帮助将不胜感激!
答案 0 :(得分:0)
你可以尝试这个^(www。)?([。a-zA-Z0-9] +)$
如果页面当前没有“www”,则会匹配。并且如果它确实或不相符应该匹配。
您需要编辑此操作以获取第二组
<action type="Redirect" url="http://www.{HTTP_HOST}/{R:1}"
appendQueryString="true" redirectType="Permanent" />
答案 1 :(得分:0)
这是您的规则,您只需检查您的主机是否与预期的主机不匹配,然后重定向到正确的网址。
<rules>
<rule name="Canonical Host Name" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^www\.domain\.com$" />
</conditions>
<action type="Redirect" url="http://www.domain.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>