我有一个带有网址重写规则的asp.net页面。规则如下所示:
<rule name="DiscoverCategorySEO">
<match url="^Discover/([0-9]+)/"/>
<conditions>
<add input="{URL}" negate="true" pattern="\.axd$"/>
</conditions>
<action type="Rewrite" url="News/Discover.aspx?Section={R:1}" redirectType="Permanent" appendQueryString="false"/>
</rule>
我在Page_Load方法中设置了一个断点用于调试。然后,当我访问&#39; http://[domain]/Discover/1/时,我发现了。发现页面将加载两次。但是,如果我输入&#39; http://[domain]/News/Discover.aspx?Section=1&#34;,那么断点只会被击中一次。
有谁知道如何保留网址重写规则,同时只加载一次页面?
答案 0 :(得分:0)
<rule name="DiscoverCategorySEO" enabled="true" stopProcessing="true">
<match url="^Discover/([0-9]+)/"/>
<conditions logicalGrouping="MatchAll">
<add input="{URL}" negate="true" pattern="\.axd$"/>
<add input="{PATH_INFO}" pattern="^Discover/([0-9]+)/" />
</conditions>
<action type="Rewrite" url="News/Discover.aspx?Section={R:1}" redirectType="Permanent" appendQueryString="false"/>
</rule>