1

/blog/item.asp?n=12817この 301リダイレクトルールを作成する必要があります。 /blog/item/12817

これらのパラメーターを使用して、IIS URL 書き換えモジュールでルールを作成しました。

パターン:^blog/item.asp\?n=([0-9]+)

リダイレクト URL:blog/item/{R:1}

IIS でテストすると、正常に動作し、web.config に次のルールが作成されました。

<rule name="Asp classic Legacy 301 redirect" stopProcessing="true">
   <match url="^blog/item.asp\?n=([0-9]+)" />
   <action type="Redirect" url="blog/item/{R:1}" appendQueryString="true" />
</rule>

それでも/blog/item.asp?n=12817、ブラウザでナビゲートするThe resource cannot be found.と、テキストでエラーが表示されますRequested URL: /blog/item.asp

なぜそれができるのですか?他の何かをどこかに切り替える必要がありますか?

ありがとう

4

1 に答える 1

5

わかりました、私は機能する別のルールを作成しました:

<rule name="Asp classic legacy 301 redirect">  
  <match url="blog/item\.asp$" />  
    <conditions>  
      <add input="{QUERY_STRING}" pattern="n=(\d+)" />  
    </conditions>  
    <action type="Redirect" url="blog/item/{C:1}" redirectType="Permanent" appendQueryString="false"/>  
</rule> 

Url 書き換えモジュールが機能しないルールを生成するのはなぜでしょうか?

于 2012-01-13T10:07:15.087 に答える