URLRewrite是“某种程度上的”工作。如果我从?title=中取出https://devbox.mysite.com/?title=test-article,并将其作为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=,如果没有它,它还能工作吗?是什么导致了这种行为?我从哪里开始疑难解答?
发布于 2016-03-10 18:48:57
好吧,这次我想清楚了。IIS按预期的方式工作,因为如果我删除了?title=,页面仍然会加载。问题是,在搜索结果超链接中,我将?ititle=作为URL的一部分,所以当用户单击结果时,它会将URL显示为包含其中的?title=。由于URLRewrite按其应有的方式工作,我所要做的就是从每个结果的超链接中删除?title=,我的问题就解决了。
https://stackoverflow.com/questions/35872811
复制相似问题