1

我正在使用 Windows 7 (IIS 7.5),并且一直在努力将其设置为使用无扩展名 url。这就是我的 web.config 的样子:

<system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
        <clear />
        <add name="ASPX" path="*.aspx" verb="*" type="" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="4194304" />
        <add name="StaticF" path="*.*" verb="FILE, GET" type="" modules="StaticFileModule" scriptProcessor="" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="" responseBufferLimit="4194304" />
        <add name="MR" path="*" verb="*" type="" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="4194304" />
    </handlers>
    </system.webServer>

转到任何没有扩展名的 url 都会出现 404 - ASP.NET 抛出的资源找不到错误。任何帮助将不胜感激。

4

1 回答 1

1

假设您不想要常规的网络表单,您可以删除“ASPX”行

至于“*”到MR的映射,需要在“type”属性中设置另一个handler factory:

<add name="MR" path="*" verb="*" 
     type="Castle.MonoRail.Framework.MonoRailHttpHandlerFactory, 
           Castle.MonoRail.Framework" 
     modules="ManagedPipelineHandler" 
     scriptProcessor="" 
     resourceType="Unspecified" 
     requireAccess="Script" 
     allowPathInfo="false" 
     preCondition="" 
     responseBufferLimit="4194304" /> 
于 2010-07-29T04:11:44.867 回答