2012-02-10 10 views
0

最初の書き換えルール(下の)「読みやすいURLに書き換える」は完全に機能します。二番目のルール、 "WWWプレフィックスを削除するには"、URLからWWWプレフィックスを削除するので、この:URLを書き換えてしまうと、重複が発生する

http://mydomain.com/blob... 

今これは少し大混乱を引き起こしている:

http://www.mydomain.com/blog... 

が、このなります。ルールが動作するように持っている場合は、物品の負荷が罰金、例えば、WWWが存在するが、ブラウザのアドレスバーにURLが、残念ながら、このような読めないバージョンに戻って変更します。

http://mydomain.com/blog/article.asp?id=1&title=blog-title 

しかしリライトは、働いていますWWWが削除されました。しかし、なぜフレンドリーなURLから非フレンドリーなURLに変わったのですか?誰かが私の間違いを見つけたり、これを修正する方法を提案できますか?

これは私のweb.configファイルの一部です:

<rules> 
    <rule name="Rewrite to readable URL"> 
      <match url="^blog/([0-9]+)/([_0-9a-z-]+)" /> 
      <action type="Rewrite" url="blog/article.asp?id={R:1}&amp;title={R:2}" /> 
    </rule> 
    <rule name="Remove WWW prefix" > 
     <match url="(.*)" ignoreCase="true" /> 
     <conditions> 
     <add input="{HTTP_HOST}" pattern="^www\.mydomain\.com" /> 
     </conditions> 
     <action type="Redirect" url="https://mydomain.com/{R:1}" redirectType="Permanent" /> 
    </rule> 
</rules> 

答えて

1

リダイレクトにあなたの書き換え処理の結果を養うように見えます。 2つのルールの順序を変更してみてください。

もう少し制御すれば、ルールタグにstopProcessing = "true"を追加することもできます。

あなたの場合、書き換えとリダイレクトは完全に別個のプロセスでなければなりません。

+0

私は2つのルールを入れ替えたので、うまくいきました。ご回答有難うございます :) – TheCarver

関連する問題