由于 ASPX 重写,不会执行 signalr/hubs
Won't execute signalr/hubs because of ASPX Rewrite
我有一个网站在 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" 页面时,我都会得到 "Protocol error: Unknown transport." 作为结果。
是否有我可以添加的规则,以便我可以重写并仍然能够 运行 这个脚本?
谢谢
已通过添加此条件修复
<add input="{REQUEST_URI}" pattern="^/(signalr)" negate="true" />
来源:Cannot load signalr hubs file correctly after IIS rewrite(是的,我之前做过研究,但我遗漏了一些东西)
我有一个网站在 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" 页面时,我都会得到 "Protocol error: Unknown transport." 作为结果。
是否有我可以添加的规则,以便我可以重写并仍然能够 运行 这个脚本?
谢谢
已通过添加此条件修复
<add input="{REQUEST_URI}" pattern="^/(signalr)" negate="true" />
来源:Cannot load signalr hubs file correctly after IIS rewrite(是的,我之前做过研究,但我遗漏了一些东西)