[英]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.