Url rewriting 动态解析url的url重写规则

Url rewriting 动态解析url的url重写规则,url-rewriting,iis-8,Url Rewriting,Iis 8,我使用重写地图的方法来实现我的搜索引擎优化友好的网址 <rewriteMaps> <rewriteMap name="Destinations"> <add key="/point-a-to-point-b" value="/destination-final.asp?from=point%20a&amp;to=point%20b" /> </rewr

我使用重写地图的方法来实现我的搜索引擎优化友好的网址

        <rewriteMaps>
            <rewriteMap name="Destinations">
                <add key="/point-a-to-point-b" value="/destination-final.asp?from=point%20a&amp;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之后的位作为终点,并将其作为querystring发送到文件

比如说

/纽约到德克萨斯

将发送以下查询字符串:


from=newyork&to=texas

您是否可以为500个错误共享详细的错误消息。如果您想要达到您的要求/纽约到德克萨斯到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}&amp;to={C:3}" appendQueryString="false" />
            </rule>
问候,,
贾尔帕。

谢谢贾尔帕。我从来不知道这有这么容易。我无法获取500错误以显示详细信息。我刚刚意识到它正在重定向到/default.aspx?from=newyork&to=texas如何使它不重定向?我想在url中看到/纽约到德克萨斯!修好了。更改类型=重定向到类型=重写