2013-07-25 2 views
0

Я искал для ответа на этот вопрос какое-то время. Я работаю над проектом VB.NET, и у меня есть несколько файлов .aspx, которые я хотел бы сопоставить с разными URL-адресами. Есть ли Слоган для отображения в файле web.config аналогично отображению .jsp с web.xml в Java:ASPX Картирование в 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> 

Edit: Я считаю, что я могу добиться того, что я пытаюсь сделать через 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> 

ответ

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 для пересылки urls (но не переименования), который я нашел на github.

Смежные вопросы