我正在使用重写映射方法来实现我的seo友好网址。
<rewriteMaps>
<rewriteMap name="Destinations">
<add key="/point-a-to-point-b" value="/destination-final.asp?from=point%20a&to=point%20b" />
</rewriteMap>
</rewriteMaps>
<rules>
<rule name="Rewrite rule1 for Destinations">
<match url=".*" />
<conditions>
<add input="{Destinations:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="false" />
</rule>
</rules>
我的问题是我有太多目的地,并且必须为每个结果编写一个地图,从而导致500错误。我相信单个web.config文件中可以包含的地图数量是有限制的。
是否可以使用通配符规则来实现?
将解析url,并使用“ to”之前的位作为起始点,并使用“ to”之后的位作为结束点并将其作为查询字符串发送到文件中?
例如
/纽约至得克萨斯州
将发送以下查询字符串:
from = newyork&to = texas
答案 0 :(得分:1)
请您分享500错误的详细错误消息。如果您想达到/ newyork-to-texas到from = newyork&to = texas的要求,则可以使用以下url重写规则:
<rule name="send value to query string" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{REQUEST_URI}" pattern="(.*)/(.*)\-to\-(.*)" />
</conditions>
<action type="Redirect" url="http://localhost:746/default.aspx?from={C:2}&to={C:3}" appendQueryString="false" />
</rule>
关于, 贾帕。