IIS重写单页面应用程序规则

时间:2018-02-13 17:37:05

标签: node.js iis url-rewriting

我的目标是能够通过IIS Rewrite从远程计算机访问此URL:

http://host:5000/#!/room/5963bdd51eeaa415988ec6d9

使用以下网址:

http://{host}/chat/

这是我的web.config

    <?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="chat" stopProcessing="true">
                    <match url="chat/*" />
                    <action type="Rewrite" url="http://127.0.0.1:5000" />
                </rule>
            </rules>
            <outboundRules>
                <rule name="chat" preCondition="">
                    <match filterByTags="A, Area, Base, Form, Head, IFrame, Img, Input, Link, Script" pattern="chat/*" negate="false" />
                    <action type="Rewrite" value="http://127.0.0.1:5000" />
                </rule>
            </outboundRules>
        </rewrite>
    </system.webServer>
</configuration>

我做错了什么?感谢

1 个答案:

答案 0 :(得分:0)

由于这是出站规则,您的客户端将收到http://127.0.0.1:5000的地址。假设客户端计算机没有在端口5000上安装应用程序,则会遇到错误。

尝试使用入站重写规则(如果您不希望在浏览器上更改URL)或使用相同参数使用入站重定向规则(如果您希望在浏览器上更改URL)并让服务器进行通话。