簡體   English   中英

IIS 7的URLRewriter返回404服務器錯誤

[英]URLRewriter for IIS 7 returns 404 Server Error

我已經實現了“ 方法3:使用HttpModuleIIS7執行無擴展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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM