我喜欢将Umbraco与Vue.js一起使用,并将所有路由留给Vue,这样我就可以制作SPA。我的目标是在web.config中编写一个IIS重写规则,以便为除/ umbraco之外的所有路由使用一个Umbraco模板。到目前为止我有这个
<rewrite>
<rules>
<rule name="Startview Templating">
<match url="^(http(s)?:\/\/)?(www\.)?([A-Za-z0-9:._-]*)(\/(?!umbraco)([A-Za-z0-9:_-]*))?" />
<action type="Rewrite" url="{R:0}?alttemplate=test" appendQueryString="true"/>
</rule>
</rules>
</rewrite>
这会在我拥有的每条路线上呈现相同的模板(测试),以便工作。但是当我进入/ umbraco时,我得到一个空白页面。我错过了什么?
由于
答案 0 :(得分:0)
您应该能够为规则添加条件以排除路径,例如:
<conditions>
<add input="{REQUEST_URI}" pattern="^/umbraco/" negate="true" />
</conditions>
在你的情况下,我会看起来像(我认为你可以简化匹配网址):
<rewrite>
<rules>
<rule name="Startview Templating">
<match url="^(http(s)?:\/\/)?(www\.)?([A-Za-z0-9:._-]*)(\/(?!umbraco)([A-Za-z0-9:_-]*))?" />
<conditions>
<add input="{REQUEST_URI}" pattern="^/umbraco/" negate="true" />
</conditions>
<action type="Rewrite" url="{R:0}?alttemplate=test" appendQueryString="true"/>
</rule>
</rules>
</rewrite>