同じ問題を解決しようとしていたときに、この古い投稿に出くわしました。
解決しました!
IIS Services Manager の Rewrite URL 機能を使用して、分かりやすい URL ルールを作成しました。
これは問題なく機能し、web.config ファイル (www ルート) のルールを見ると、リダイレクトするルールが 1 つと、書き換えるルールが 1 つ示されていました。
これを 1 試合に合わせて編集しました。次に、このコードを複製して、それぞれの製品 ID を編集しました。以下の例:
<rule name="RedirectUserFriendlyURL1" stopProcessing="true">
<match url="^product\.php$" />
<conditions>
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
<add input="{QUERY_STRING}" pattern="^id_product=\b35\b" />
</conditions>
<action type="Redirect" url="990mm-bohemia-cast-iron-electric-radiator"
appendQueryString="false" />
</rule>
"product.php"
最初のルールは URL 内の文字列を検索し、現在存在しないもの"id_product=35"
にリダイレクトします。"990mm-bohemia-cast-iron-electric-radiator"
その後(下記参照)
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^\b990mm-bohemia-cast-iron-electric-radiator\b" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="product.php?id_product=35" />
</rule>
このルールは、"product.php?id_product=35"
ビットを「990mm-bohemia-cast-iron-electric-radiator」に書き換え、リダイレクトの新しい場所を作成します。