Url rewriting 为什么IIS 8.5 URL重写会引发404错误?

Url rewriting 为什么IIS 8.5 URL重写会引发404错误?,url-rewriting,iis-8,Url Rewriting,Iis 8,我们已经修改了我们的文件结构一点,因为我们发现了一个问题,结果在我的另一个,我们现在我们回到了我们已经开始。我已经查过了,但这个问题也没有答案 我们希望URL显示:在浏览器上 以下是我的URL重写: <rule name="Article-rewrite" enabled="true"> <match url=".com/kb/article/(.*)$" /> <conditions logicalGrouping="MatchAll" track

我们已经修改了我们的文件结构一点,因为我们发现了一个问题,结果在我的另一个,我们现在我们回到了我们已经开始。我已经查过了,但这个问题也没有答案

我们希望URL显示:在浏览器上

以下是我的URL重写:

<rule name="Article-rewrite" enabled="true">
    <match url=".com/kb/article/(.*)$" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
    <action type="Rewrite" url="https://devbox.mysite.com/kb/article/?artID={R:1}" appendQueryString="false" />
</rule>

显示它在那里。这是我的设置,不显示选项。无论如何,这只是诊断url重写问题的一个次要问题


好吧,我终于找到了问题的答案。匹配URL将匹配文件夹kb/artitcle/,而a-ZA-Z-将只允许word和破折号。在我的情况下,将只传递一个参数,因此我故意忽略符号和字符,因为在CommonSpot CMS中,它会在URL末尾添加一个&cs\u pgIsInLView=1,从而导致重写规则中断。所以忽略这个符号,它在我的情况下起作用。当我尝试使用url登录页面时,查询字符串模式1将忽略重写。我想可能还有其他比这更好的方法,但现在,这将不得不做

<rule name="Article-rewrite" enabled="true">
    <match url="^kb/article/([a-zA-Z\-]+)$" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{QUERY_STRING}" pattern="1" negate="true" />
    </conditions>
    <action type="Rewrite" url="kb/article/?artID={R:1}" appendQueryString="false" />
</rule>