我正在使用Angularjs和.Net的web api开发SPA应用程序。这一切似乎都有效,能够刷新我的页面我已经将规则添加到我的web.config文件中,如下所示,当我刷新具有parmeter的详细信息页面时,它们都可以工作,类似于http://domain/traveldetail/135
。请告知我该如何处理这个问题:
Web.config的重写部分:
<rewrite>
<rules>
<rule name="TravelList" stopProcessing="true">
<match url="^travellist" />
<action type="Rewrite" url="/" />
</rule>
<rule name="TravelDetail" stopProcessing="true"> <!--NOT WORKING-->
<match url="^traveldetail/:travelId" />
<action type="Rewrite" url="/" />
</rule>
<rule name="AdvancedSearch" stopProcessing="true">
<match url="^advancedsearch" />
<action type="Rewrite" url="/" />
</rule>
<rule name="CreditCardMatcher" stopProcessing="true">
<match url="^creditcardmatcher" />
<action type="Rewrite" url="/" />
</rule>
<rule name="ApprovalGroups" stopProcessing="true">
<match url="^approvalgroups" />
<action type="Rewrite" url="/" />
</rule>
<rule name="Help" stopProcessing="true">
<match url="^help" />
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
答案 0 :(得分:0)
它无法正常工作,因为:travelId
中的url="^traveldetail/:travelId"
是AngularJS的参数表示法,而不是有效的正则表达式。
更改此类似内容:url="^traveldetail/(.+)"
,它应该有效。