我使用以下网址和代码将网址更改为自定义名称。它不会返回任何错误,但URL不会更改。
I want the output like this
From : Frm_AdminHome.aspx?MainPage=AdminDashboard&Type=1&Role=r0LnJW8xTBkMh3DZ3ip3Jyt2o98/krx7
To : Frm_AdminHome/
我的Webconfig代码就在这里。
Frm_AdminHome.aspx?MainPage=AdminDashboard&Type=1&Role=r0LnJW8xTBkMh3DZ3ip3Jyt2o98/krx7 //Query string will be change in every time.
<configSections>
<section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
</configSections>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime requestValidationMode="2.0" />
<httpModules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</httpModules>
</system.web>
<rewriter>
<rewrite url="~/Frm_AdminHome/(.+).aspx" to="~/Frm_AdminHome.aspx" />
</rewriter>
答案 0 :(得分:0)
重写是一个不会更改请求的网址并传递其他网页的过程。例如,当您需要调用/ Frm_AdminHome,但执行/Frm_AdminHome.aspx?something而不更改URL时,您需要遵循重写规则
<rewrite url="^/Frm_AdminHome/?$" to="/Frm_AdminHome.aspx?something" processing="stop" />
如果您需要将网址从Frm_AdminHome.aspx更改为Frm_AdminHome /,这称为重定向,您需要使用重定向规则
<redirect url="~/Frm_AdminHome.aspx\?.*" to="~/Frm_AdminHome" />
这应该重定向
From : Frm_AdminHome.aspx?MainPage=AdminDashboard&Type=1&Role=r0LnJW8xTBkMh3DZ3ip3Jyt2o98/krx7
To : Frm_AdminHome/
有关详细信息,请参阅http://urlrewriter.net/index.php/support。
如果上面的配置不起作用且您没有看到任何更改,那么UrlRewriter模块很可能不会处于活动状态。例如,如果您在集成池模式下运行,则可能需要添加
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<!--<modules runAllManagedModulesForAllRequests="true" />-->
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRewriter"
type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" />
</modules>
</system.webServer>
P.S。
对于IIS 7+,有一个buit-in URL Rewrite Module
P.P.S。
要使用querystring或rawurl
QueryString <%=Request.QueryString.ToString() %> <br />
RawUrl <%=Request.RawUrl %>