这些是我在开发服务器上的web.config文件的一些摘录。Intelligencia URL没有问题,但当部署在生产环境(两台服务器上的IIS 5)上时,除了~/(GUID值).aspx/value (rewriiten url)有效之外,它会在每个重写的url上返回找不到的页面(404错误)
<section name="rewriter" requirePermission="false"
type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler,
Intelligencia.UrlRewriter"/>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule"/>
</modules>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
</modules>
<add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode"/>
</handlers>
</system.webServer>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter"
name="UrlRewriter"/>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
</httpModules>
<rewriter>
<rewrite url="~/myone/tags/(.+)" to="~/myone/tagpage.aspx?tag=$1"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
</httpHandlers>发布于 2011-02-11 01:53:46
我们有一个类似的规则,使用(.*)而不是(.+)。可能适合你(如果你的用例可以接受的话)。
发布于 2011-02-11 03:17:01
https://stackoverflow.com/questions/4960694
复制相似问题