web.config中的ASPX映射

时间:2013-07-25 05:14:39

标签: asp.net vb.net

我一段时间都在寻找这个问题的答案。我正在开发一个VB.NET项目,我有几个.aspx文件,我想映射到不同的url路径。 web.config文件中的映射是否有标记,类似于使用java中的web.xml映射.jsp:

<servlet>
    <servlet-name>myjsp</servlet-name>
    <jsp-file>/hello.jsp</jsp-file>
</servlet>

<servlet-mapping>
    <servlet-name>sample</servlet-name>
    <url-pattern>/Hello</url-pattern>
</servlet-mapping>

编辑:我相信我可以通过UrlRewriter实现我想要做的事情,但是我不能让这个配置起作用,因为我不知道我必须做什么参考(Intelligencia.UrlRewriter不作为参考汇编存在) ?)

 <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>

  </system.web>

   <rewriter>
     <rewrite url="WebForm1.aspx" to="WebForm1/" />
     <rewrite url="~/products/CDs.aspx" to="~/products.aspx?category=CDs" />
     <rewrite url="~/products/DVDs.aspx" to="~/products.aspx?category=DVDs" />
   </rewriter>  

我的理解是,如果您使用的是IIS7,则必须用

替换httpModule部分。
 <system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true">
  <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</modules>
 </system.webServer>

1 个答案:

答案 0 :(得分:0)

将〜/ WebForm1.aspx映射到〜/ Web

<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 debug="true"/>
<urlMappings enabled="true">
 <add url="~/Web" mappedUrl="~/WebForm1.aspx" />
</urlMappings>
  </system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true">
  <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule"/>
</modules>
<!-- THE FOLLOWING LINE MUST BE PRESENT FOR AJAX & VALIDATION TO WORK WITH URLREWRITER.NET -->
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<!--</handlers>-->
</system.webServer>
<!-- URL REWRITER -->
<rewriter>
  <!--<rewrite url="~/WebForm1.aspx" to="~/WebForm2.aspx"/>-->
</rewriter>

在配置标记内部,着名的重写节点将重定向,名称将通过URL映射

进行修改

这需要引用Intelligencia.UrlRewriter来转发我在github上找到的网址(但不是重命名)。