我有一个网站在webconfig中使用此重写规则
<rule name="RewriteASPX">
<match url="(.*)"/>
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="{R:1}.aspx"/>
</rule>
我使用此规则,因此url无需扩展名为“ .aspx”。
不幸的是,这导致网站无法运行signalr / hubs脚本,我不知道为什么。每当我在启用此规则的情况下打开localhost / signalr / hubs”页面时,都会收到“协议错误:未知传输”的消息。
是否可以添加一条规则,以便我可以重写并仍然可以运行该脚本?
谢谢
答案 0 :(得分:0)
通过添加此条件解决
<add input="{REQUEST_URI}" pattern="^/(signalr)" negate="true" />
资料来源:Cannot load signalr hubs file correctly after IIS rewrite(是的,我之前做过myresearch,但我错过了一些东西)