Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iis 7 让IIS7重写但仍然传递查询字符串参数?_Iis 7 - Fatal编程技术网

Iis 7 让IIS7重写但仍然传递查询字符串参数?

Iis 7 让IIS7重写但仍然传递查询字符串参数?,iis-7,Iis 7,我正在尝试在IIS7中设置一个重写规则,以隐藏页面扩展(.aspx),但也要隐藏字段并将查询字符串参数传递给页面 例如,如果原始URL为: www.mysite.com/page.aspx?pid=a 我怎样才能把它改写成 www.mysite.com/page 但是仍然将querystring值传递给页面?您可能需要检查以下内容: 但根据本文,在重写操作中有一个“appendQueryString”参数,用于确定是否将查询字符串追加到新URL。这在默认情况下应该是打开的(同样根据那篇文章),所

我正在尝试在IIS7中设置一个重写规则,以隐藏页面扩展(.aspx),但也要隐藏字段并将查询字符串参数传递给页面

例如,如果原始URL为:

www.mysite.com/page.aspx?pid=a

我怎样才能把它改写成

www.mysite.com/page


但是仍然将querystring值传递给页面?

您可能需要检查以下内容:


但根据本文,在重写操作中有一个“appendQueryString”参数,用于确定是否将查询字符串追加到新URL。这在默认情况下应该是打开的(同样根据那篇文章),所以你不必做任何事情。

如果你把它放在web.config中,你要寻找的是
appendQueryString

<rule name="MyRule" stopProcessing="true">
   <match url="{your regex}" ignoreCase="false" />
   <action type="Rewrite" url="{your rewrite}" appendQueryString="true" />
</rule>


如果您是在IIS管理器中执行此操作,请选中“追加查询字符串”框。

我将在不使用.aspx扩展名的情况下重新编写URL,但它仍将querystring参数保留在URL中。所以www.mysite.com/page.aspx?pid=a仍然显示为:www.mysite.com/page?pid=a,但我想要的是:www.mysite.com/page,其中的参数仍然由页面接收。这可能吗?@mitch-不,我不这么认为。