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

よし、今度はわかった。?title= を削除しても、ページは引き続き読み込まれるため、IIS URLRewrite は想定どおりに機能します。問題は、検索結果のハイパーリンクに ?ititle= を URL の一部として配置したため、ユーザーが結果をクリックすると、URL に ?title= が含まれていると表示されてしまうことでした。URLRewrite は正常に機能しているため、各結果のハイパーリンクから ?title= を削除するだけで問題は解決しました。

于 2016-03-10T18:48:57.433 に答える