0

URLRewrite 是“某种”工作。如果我从https://devbox.mysite.com/?title=test-article中取出?title=并将其设置为https://devbox.mysite.com/test-article,页面仍会加载美好的。但是,问题是,它仍然在客户端的 URL 地址上显示https://devbox.mysite.com/?title=test-article 。我不明白它是否正常工作,但它仍然在客户端浏览器上显示实际 URL。下面是我的 URLRewrite 规则。任何建议都非常感谢。

<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 有关。问题是,为什么它在没有它的情况下在 URL 中显示 ?titlte= ,它仍然可以工作?是什么导致了这种行为?我可以从哪里开始故障排除?

4

1 回答 1

0

好吧,这次我想通了。IIS URLRewrite 可以正常工作,因为如果我删除了 ?title=,页面仍然会加载。问题是,在搜索结果超链接中,我将 ?ititle= 作为 URL 的一部分,因此当用户单击结果时,它会将 URL 显示为包含 ?title= 。由于 URLRewrite 正常工作,我所要做的就是从每个结果的超链接中删除 ?title= ,我的问题就解决了。

于 2016-03-10T18:48:57.433 回答