IIS web.config网址重写

问题描述 投票:0回答:1

我在web.config中使用了以下规则。

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
  <system.webServer>
   <rewrite>
    <rules>
     <rule name="rewrite">
      <match url="([0-9]+)/([0-9]+)" />
      <action type="Rewrite" url="index.php?year={R:1}&amp;item={R:2}" />
     </rule>
    </rules>
   </rewrite>
 </system.webServer>
</configuration>

它的工作原理是:

但我需要显示一个404错误,如果用户在第二个查询中写了一个或多个字母 (),如1b,或1bla等。

它应该只允许一个(正)数,而且,可能是一个查询,如 utm_source=anothersite------。? "ref=其他网站 等。

换句话说,url应该是

www.mysite.com{year}{item}

其中{year}和{item}都是必填项,只能是数字,不允许有其他元素(如:{year}{item}{somethingelse}。www.mysite.com{year}{item}{somethingelse}。),除了 钥匙=价值.

我怎样才能改变 匹配网址 值,才能达到这个结果?

谢谢,我在我的web.config中使用了以下规则:

iis url-rewriting web-config
1个回答
0
投票

请在你的模式末尾加上"$"。

<match url="([0-9]+)/([0-9]+)$" />

这是我测试的结果。

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.