当我试图解决同样的问题时偶然发现了这篇旧帖子。
解决了!
使用 IIS 服务管理器中的重写 URL 功能,我创建了一个友好的 URL 规则。
这工作正常,当我查看 web.config 文件(www root)中的规则时,它显示了 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”,为重定向创建新位置。