![](/img/trans.png)
[英]URLRewriter.net sends 404 when uploaded to server with IIS 7, but works on localhost
[英]URLRewriter for IIS 7 returns 404 Server Error
我已经实现了“ 方法3:使用HttpModule从IIS7执行无扩展URL重写 ”: - http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url -rewriting-与-ASP-net.aspx
这是基于URLRewriter模块: - http://urlrewriter.net/
它似乎适用于我的本地环境,但在生产服务器(运行IIS 7)上它显示“ 404 - 文件或目录未找到 ”页面。
我在Google上搜索过,似乎无法找到解决方案。
最后,我们回到IIS 6并按照此处的说明进行操作: - http://urlrewriter.net/index.php/support/installation/windows-server-2003
但是有一天我们可能不得不在共享托管环境中升级到IIS 7,同样的问题将再次出现!
托管伙伴让它在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>
我有一个类似的问题,我的页面p1(已被重写,最初是p1.aspx)被错误地视为p1目录。
我将<modules runAllManagedModulesForAllRequests =“true”/>添加到web.config中的<system.webServer>,它似乎开始工作。
对于IIS 7
将web.config文件中的HttpModules定义从system.web复制到system.webServer
<system.webServer>
<modules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</modules>
<system.webServer>
应用程序池:托管Pipiline模式=集成
我的同事遇到了同样的问题,我检查他是否将应用程序池设置为使用Classic Pipeline而不是使用他应该使用的Integrated Pipeline,并将其更改为Integrated解决了问题。 也许这可以解决你的问题?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.