Iis 7 Url路由不工作?
url重写的web.config为Iis 7 Url路由不工作?,iis-7,url-rewriting,web-config,Iis 7,Url Rewriting,Web Config,url重写的web.config为 <rewrite> <rules> <rule name="Mobile Portal"> <match url="^(code)(/)?([^']*)" /> <action type="Redirect" url="Code.aspx?id={R:3}" /> <
<rewrite>
<rules>
<rule name="Mobile Portal">
<match url="^(code)(/)?([^']*)" />
<action type="Redirect" url="Code.aspx?id={R:3}" />
</rule>
</rules>
</rewrite>
input: www.abc.com/Code.aspx?id=123abcdef
Required output: www.abc.com/code/123abcdef
current output: http://www.abc.com/Code.aspx?id=.aspx
输入:www.abc.com/Code.aspx?id=123abcdef
所需输出:www.abc.com/code/123abcdef
电流输出:http://www.abc.com/Code.aspx?id=.aspx
有效页面url为www.abc.com/code/123abc。我需要“123abc”。当我通过www.abc.com/code/123abc访问页面时,url将转换为“http://www.abc.com/Code.aspx?id=.aspx”。我正在使用IIS 7。那么我如何解决这个问题呢
非常感谢。您可以使用url路由而不是url重写。为此,请转到Global.asax文件并按如下方式编写RegisterRoutes方法:
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("my_abc_page",
"code/{id}",
"~/Code.aspx");
}
使用上述命令,任何请求(如www.abc.com/code/123abcdef
解释为www.abc.com/code.aspx?id=123abcdef
),您可以在页面的代码中访问此id:
theId = Page.RouteData.Values["id"] as string;