2010-11-09 175 views
3

我实现了 “方法3:使用一个HttpModule来执行无扩展名的URL与IIS7重写” 从这里开始: - http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspxURLRewriter的IIS 7返回404服务器错误

是基于URLRewriter模块: - http://urlrewriter.net/

这似乎对我的地方环境问题,生产服务器(运行IIS 7)显示“404 - 文件或目录未找到”上工作页面。

我在谷歌搜索,似乎无法找到解决方案。

最后,我们回到IIS 6和遵循的指示在这里它的工作: - http://urlrewriter.net/index.php/support/installation/windows-server-2003

但是有一天我们可能要升级到IIS 7一个共享的主机环境,同样的问题会出现再次!

+0

托管家伙得到它在IIS 7中工作。所有我得到了他所做的是“HTTP处理程序需要通配符映射与不同的应用程序池,以使其在IIS 7中工作” 。希望这可以帮助那些在Google上找不到任何东西的人。 – 2010-11-10 17:39:52

回答

5

托管家伙让它在IIS 7中工作.HTTP处理程序需要通配符映射与不同的应用程序池,以使其在IIS 7中工作。希望这有助于。

确保您已在的Web.Config如下:

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <handlers> 
    <add name="wildcard" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 
    </handlers> 
</system.webServer> 
+0

这是我必须做的,以便获得不存在的URL来映射prpoerly。 – 2011-05-03 03:01:54

+0

一个完整的weg.config配置可以在这个答案中找到(对我来说,这工作,上面的解决方案贾森没有帮助我的情况下,asp.net 2.0集成,IIS 7.5):http://stackoverflow.com/questions/ 615391/can-wisdomgencia-urlrewriter-be-made-to-in-iis7 – firepol 2012-06-26 09:35:08

+0

非常好!你拯救我的一天 – Ras 2015-04-06 22:08:12

0

我的同事有同样的问题,我检查他设置应用程序池使用传统管道,而不是使用他应该使用的集成管道,并将其更改为集成解决了问题。也许这可以解决你的问题?

0

我有我的页面P1(已经被改写,原来是p1.aspx)类似的问题被误认为是P1目录。

我加<模块runAllManagedModulesForAllRequests =“真”/>到<system.webServer>在web.config中,它似乎开始工作。

0

对于IIS 7

复制的HttpModules定义从System.Web程序web.config文件到system.webServer

<system.webServer> 
    <modules> 
     <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/> 
    </modules> 
<system.webServer> 

应用程序池:管理Pipiline模式=综合

相关问题