2010-11-09 178 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模式=綜合

相關問題