为什么我的IIR URLRewrite仍然在URL地址中显示?title =?
问题描述:
URLRewrite是“排序”工作。如果我拿出?标题=从https://devbox.mysite.com/?title=test-article,只是把它当作https://devbox.mysite.com/test-article,该网页将仍然加载罚款。但问题是,它仍然在客户端的URL地址上显示https://devbox.mysite.com/?title=test-article。我不明白它正在工作,但它仍然在客户端的浏览器上显示实际的URL。以下是我的URLRewrite规则。任何建议,非常感谢。为什么我的IIR URLRewrite仍然在URL地址中显示?title =?
<rule name="KB-rewrite" enabled="true">
<match url="^kb/article/([a-zA-Z0-9\-]+)$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{QUERY_STRING}" pattern="1" negate="true" />
</conditions>
<action type="Rewrite" url="kb/article/?title={R:1}" appendQueryString="false" />
</rule>
我以为我昨天知道了,但事实并非如此。我重新编辑了这篇文章,因为我认为这与ColdFusion和我们的CommonSpot CMS有关。问题是,为什么它显示?titlte =在没有它的URL中,它仍然有效?什么可能导致这种行为?我从哪里开始排除故障?
答
好的,这次我想通了。如果我删除了?title =,页面仍然加载,IIS URLRewrite就像它应该的那样工作。问题是,在搜索结果超链接中,我把?ititle =作为URL的一部分,所以当用户点击结果时,它会显示URL包含?title =。由于URLRewrite正在运行,所以我只需从每个结果的超链接中删除?title =,我的问题就解决了。