我有世界上最简单的正则表达式:*
我把它放在IIS的网站上,因为我希望其中一个网站成为代理,而其他网站则是本地服务。所以,web.config是:
<system.webServer>
<rewrite>
<rules>
<rule name="AllRewrite" stopProcessing="true">
<match url="*" />
<action type="Rewrite" url="http://tom-pc/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
但是,这会引发此错误:
表达式“”包含一个重复表达式(在大多数情况下,'','?','+','{'之一),前面没有表达式。
有什么想法吗?
答案 0 :(得分:6)
错误说明了一切。您的正则表达式无效。 *是重复字符(零次或多次)。您应指明允许重复哪个字符零次或多次。你可能想要任何角色,所以你的正则表达式应该是:。*
<match url=".*" />
要回答关于代理的其他问题,不可能通过重写到其他主机名进行代理。您只能在同一服务器上重写其他URI。要使用IIS代理,您必须安装ARR(应用程序请求路由)模块。