【发布时间】:2022-01-22 05:46:38
【问题描述】:
这是我确认有效的 .htaccess 规则:
RewriteRule ^([A-Za-z0-9-]+)/foo/products products.aspx?product_id=${product_map:$1} [NC, L]
它的作用是使用product_map.txt 文件在product_id(查询字符串)和产品名称之间进行映射。例如,假设工具 ID 为 1。以下 2 将等效/重写:
site.com/tools/foo/products
site.com/products.aspx?product_id=1
当使用 IIS 的规则导入时,变成如下:
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^([A-Za-z0-9-]+)/foo/products" ignoreCase="true" />
<action type="Rewrite" url="products.aspx?product_id={product_map:{R:1}}" appendQueryString="false" />
</rule>
但是它说的是表达式products.aspx?product_id={product_map:{R:1}} is not valid,有没有办法让它在 IIS 中工作?
【问题讨论】:
标签: .htaccess iis url-rewriting web-config