我发现 URL Rewrite 可能已损坏,因此我遇到了另一个问题,即它重定向我的 IT 部门提供的 DNS,因此我制作了一个非常简单的测试用例,但它也不起作用,因此我试图修复当前出现在生产服务器上的这个问题。
我创建了主机文件重定向
127.0.0.1 test.useless.com
运行 ping 并正确解析。因此我创建了一个简单的重定向规则,用于将该名称重定向到 Google。
<rule name="something" stopProcessing="false">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="*/test.useless.com/*" />
</conditions>
<action type="Redirect" url="http://www.google.ca/" redirectType="Permanent" />
</rule>
因此,http://test.useless.com/
现在我并不关心任何页面,我保持简单,因此匹配任何 url。运行重写测试窗口并复制粘贴该 url 并运行测试,它通过了。然后重定向应该发送到 google.ca。
为什么什么都不起作用。IIS 中没有关于此内容的日志,URL 重写规则位于 IIS 的根节点上,而我的网站中包含该主机名。
答案1
我认为条件中的模式字段必须是正则表达式,因此类似于:
test\.useless\.com
正则表达式不能以 开头*
,这是前一个字符的量词。