0

私はしばらくの間、この質問に対する答えを探し回ってきました。私は VB.NET プロジェクトに取り組んでおり、異なる URL パスにマップしたい .aspx ファイルがいくつかあります。Javaで.jspをweb.xmlにマッピングするのと同様に、web.configファイルにマッピングのタグラインがありますか:

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

1 に答える 1

0

~/WebForm1.aspx を ~/Web にマップする

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

上記の書き換えノードがリダイレクトする構成タグ内で、名前は URL マッピングによって変更されます

これには、github で見つけた Intelligencia.UrlRewriter への参照が必要です (ただし名前は変更されません)。

于 2013-07-25T17:47:37.123 に答える