私の経験では、URL書き換えは逆に使用されます。したがって、ページは実際にはviewentry.aspx?ID = 123であり、リダイレクトによって/123にリダイレクトされます。
私はあなたがそれを間違った方法でやっているかもしれないと思いますか?IIS 7のウィザードを使用してSEO対応URLのURL書き換えを設定し、ベースとしてviewentry.aspx?ID = erf4dを使用すると、必要な場所に到達するのに役立ちます。
リダイレクト/書き換えは機能するため、test.com / 123に移動すると機能しますが、test.com / view.aspx?ID = 123に移動すると、test.com/123に送信されます。あなたが求めているのはどれですか?
乾杯
編集:これは私が使用するものの例です。news.aspx?page = 1を読み取り、news /1/に書き換えます。ただし、ルールにより、news / 1 /は実際にも機能するため、必要に応じてアンカーでそのように参照できます。
<rule name="Redirect - /news.aspx?page=a to /news/a/" enabled="true" stopProcessing="true">
<match url="^news\.aspx$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
<add input="{QUERY_STRING}" pattern="^page=([0-9]{1,3})$" />
</conditions>
<action type="Redirect" url="news/{C:1}" appendQueryString="false" />
</rule>
<rule name="Rewrite - /news/a/ to page=a" enabled="true" stopProcessing="true">
<match url="^news/([^/]+)/?$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="news.aspx?page={R:1}" />
</rule>