两个带自定义URL的参数。重写在IIS中,不能找出语法
问题描述:
我已经设置这和它工作得很好 https://www.iis.net/learn/extensions/url-rewrite-module/using-custom-rewrite-providers-with-url-rewrite-module两个带自定义URL的参数。重写在IIS中,不能找出语法
但我想要做的是改变将触发关闭该存储过程,这样我可以有更多的参数。在他们的样本规则,你结束了这个
<rule name="DbProviderTest" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{DB:{R:1}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" />
所以在页面上我设定新的变量,我叫ENVIRON。我希望做的是对测试和生产有不同的规则。所以我修改了RewriteTable以包含“环境”列。
我难过的是,我无法弄清楚如何将两个参数传递给存储过程。我认为这将是为这样的事情
<add input="{DB:{R:1},{ENVIRON}}" pattern="(.+)" />
我试过许多其他的语法简单,但我不断收到同样的错误500.x:
Procedure or function 'GetRewrittenUrl' expects parameter '@env', which was not supplied
所以我的问题很简单,创建这个时设置,如何将多个参数传递给存储过程?
答
作为每Microsoft Documentation:“提供者连接到SQL Server数据库,并执行一个存储过程,需要一个NVARCHAR输入参数包含输入的URL字符串,并返回包含输出URL一排,一列的结果集NVARCHAR类型的字符串“。
不幸的是你要实现的目标是不可能的,因为这种存储过程只能接受一个参数(必须叫@input)。