UrlRewriter.NET - 简单的重写规则,但如何?

时间:2012-08-15 13:29:25

标签: asp.net url-rewriting url-rewrite-module urlrewriter.net

我刚从Urlrewriter.net安装了示例,但我似乎无法弄明白 完成我的问题的规则。

很简单:

如果用户导航到此页面:

http://localhost/UrlRewriteTest/Default.aspx?PageID=33

网址应如下所示:

http://localhost/UrlRewriteTest/33

或者

http://localhost/UrlRewriteTest/33.aspx

我做错了什么?这是我的web.config:

<?xml version="1.0"?>
<configuration> 
  <configSections>
    <section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter"/>
  </configSections>
    <system.web>
    <httpModules>
      <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
    </httpModules>
    <compilation targetFramework="4.0"/>
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
  </system.web> 
  <rewriter>
    <rewrite url="~/(.+)" to="~/Default.aspx?PageID=$1"/> 
  </rewriter>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">
            <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule" />
        </modules>
        <validation validateIntegratedModeConfiguration="false" />
    </system.webServer>
</configuration>

这是第一步。更理想的是,PageID应该传递给数据库 并返回页面名而不是ID,URL应该最终查找 像这样:

http://localhost/UrlRewriteTest/thename/

最好的问候。

1 个答案:

答案 0 :(得分:1)

您可以阅读Scott Guthrie关于Url Rewriting @ http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx的文章。