簡體   English   中英

web.config中的ASPX映射

[英]ASPX Mapping in web.config

我搜索了這個問題已有一段時間了。 我正在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>

映射〜/ 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來轉發url(但不能重命名),我在github上找到了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM