在我的ASP.Net网站中,我使用网络配置中的<httpRedirect>
将URL永久重定向到其他位置。
我正在从表中读取网址值,并使用Response.Redirect( URL );
来重定向到该网址
它工作得很完美
但现在当我尝试使用:
Response.Redirect("Default.aspx?name=stackoverflow");
由于web.config中的以下代码,web.config中的 <httpRedirect>
会调用Default2.aspx
:
<location path="Default.aspx">
<system.webServer>
<httpRedirect enabled="true" destination="Default2.aspx" httpResponseStatus="Permanent" />
</system.webServer>
</location>
问题是Default2.aspx
没有收到任何参数
请帮忙。
注意:我不能使用会话变量,因为页面内容取决于该参数。
例如,
如果用户使用Default.aspx?name=MetaStackOverflow
会话变量在新标签页中打开另一个页面,则会替换该会话变量,如果首页已刷新,则会显示Stackoverflow
内容,而不会显示MetaStackOverflow
内容。
答案 0 :(得分:6)
不要忘记特殊字符$ V $ Q并且必须将exactDestination设置为True。
<location path="Help">
<system.webServer>
<httpRedirect enabled="true" destination="/Redirect.aspx$V$Q" httpResponseStatus="Permanent" exactDestination="true" />
</system.webServer>
</location>