2013-01-10 78 views
5

我在Windows Server 2008 R2上運行使用IIS7的ASP.NET 4.0網站。URL重寫Web應用程序錯誤

該網站在主域(〜/ site1,〜/ site2,〜/ site3等)下有許多Web應用程序。每個Web應用程序是同一個網站源文件夾的一個實例(d:\ \網站MySite的),這樣你就可以在任何以下URL訪問相同的網站:

www.mydomain.com

WWW。 mydomain.com/site1

www.mydomain.com/site2

www.mydomain.com/site3

同樣的網站,每次回來,但略有不同的內容,這取決於具體的網址是調用。

在我被要求使用URL Rewrite添加一些SEO優化之前,一切都一直工作正常。我添加的每個URL重寫規則都會產生以下錯誤:

HTTP錯誤500.52 - URL重寫模塊錯誤。由於發生內部服務器錯誤,無法顯示頁面。

配置錯誤:無法添加設置類型「規則」具有獨特的鍵屬性「名」的重複的集合項「AddTrailingSlashRule1」

我已經elswhere閱讀,圍繞在網頁中<system.webServer> configSection。配置文件與:

<location path="." inheritInChildApplications="false"> 

將解決此問題。

但是,雖然它停止顯示錯誤消息,但它也會停止URL Rewrite規則在任何Web應用程序(〜/ site1,〜/ site2,〜/ site3)中的工作。

如何獲取URL重寫模塊以使用Web應用程序?

感謝您提供任何幫助。

回答

17

添加清除以防止子網站上的重複錯誤。

<rules> 
    <clear /> 
    <rule name="Redirect rule for /maps"> 
     .... 
    </rule> 
</rules> 
+0

這對於處理Azure Web App中重寫規則的重複密鑰問題非常有用。非常感謝! –

+0

非常感謝你@Dave Wiebelhaus。這很有用 –

+0

修復了我的Laravel問題。真棒 – Ryan