繁体   English   中英

Web.config中的类似重写规则问题

[英]Issue with Similar Rewrite Rules in Web.config

我的web.config中有一条有效的规则。

<rule name="Guestbook Rewrite" stopProcessing="true">
<match url="(.*?)-guestbook" />
<action type="Rewrite" url="guestbook.asp?gb={R:1}" />
</rule>

当有人访问MyDomain.com/view-guestbook或MyDomain.com/sign-guestbook时,他们会转到相应的页面。

我遇到的困难是我有几页的留言簿条目,因此我希望能够添加一条规则,以便当某人转到“ view-guestbook-page-9”时,他们实际上正在获取MyDomain.com/guestbook .asp?gb = view&pagenum = 9。 我添加了以下规则,但是一旦我发现了500个错误。 我将猜测它与先前的规则冲突或语法不正确。

<rule name="Guestbook View Page Rewrite" stopProcessing="true">
<match url="view-guestbook-page-(.*)" />
<action type="Rewrite" url="guestbook.asp?gb=view&pagenum={R:1}" />
</rule>

如何同时拥有两个规则或一个可以同时解决这两个规则的规则?

我明白了。 我必须在第一个规则上添加一个条件,以便对另一个规则不做任何事情。 所以看起来像这样:

<rule name="Guestbook Rewrite" stopProcessing="true">
<match url="(.*?)-guestbook" />
    <conditions>
        <add input="{REQUEST_URI}" pattern="view-guestbook-page-" negate="true" />
    </conditions>
<action type="Rewrite" url="guestbook.asp?gb={R:1}" />
</rule>

<rule name="View Guestbook Page Rewrite" stopProcessing="true">
<match url="view-guestbook-page-(.*)" /> 
<action type="Rewrite" url="guestbook.asp?PageNum={R:1}" />
</rule>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM