2013-01-10 1 views
5

Windows Server 2008 R2에서 IIS7을 사용하여 ASP.NET 4.0 웹 사이트를 실행하고 있습니다.웹 응용 프로그램의 URL 다시 쓰기 오류

사이트에는 주 도메인 (~/site1, ~/site2, ~/site3 등) 아래에 여러 개의 웹 응용 프로그램이 있습니다. 각 웹 응용 프로그램은 동일한 웹 사이트의 소스 폴더의 인스턴스 (D : \ 웹 사이트가 내 사이트를 \), 그래서 당신은 다음 URL의에서 동일한 웹 사이트에 액세스 할 수 있습니다

www.mydomain.com

WWW를. mydomain.com/site1

www.mydomain.com/site2

www.mydomain.com/site3

같은 웹 사이트는 각각의 시간을 반환하지만,와 약간 다른 내용이 특정 URL이에 따라 라는.

URL 재 작성을 사용하여 몇 가지 SEO 최적화를 추가하라는 요청이있을 때까지 모든 것이 제대로 작동했습니다. 모든 URL 다시 쓰기 규칙을 추가하면 다음 오류가 발생합니다.

HTTP 오류 500.52 - URL 다시 쓰기 모듈 오류입니다. 내부 서버 오류가 발생하여 페이지를 표시 할 수 없습니다.

구성 오류 :로 설정 고유 키 속성 '이름'으로 입력 '규칙'의 중복 수집 항목을 추가 할 수 없습니다 'AddTrailingSlashRule1'나는 알려서 읽고

이 웹에서 <의 system.webServer > configSection 주변. 구성 파일 :

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

이 문제가 해결됩니다.

그러나 오류 메시지가 표시되는 것을 중지하는 동안 URL 다시 쓰기 규칙이 웹 응용 프로그램 (~/site1, ~/site2, ~/site3)에서 작동하지 않습니다.

URL 재 작성 모듈을 웹 응용 프로그램과 함께 사용하려면 어떻게해야합니까?

도움을 주셔서 감사합니다.

답변

17

하위 사이트의 중복 오류를 방지하려면 맑은 소리를 추가하십시오.

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

이것은 Azure Web App 내부에서 다시 쓰기 규칙에 대한 중복 키 문제를 처리하는 데 정말 유용했습니다. 많은 감사합니다! –

+0

고맙습니다. @Dave Wiebelhaus. 이것은 매우 유용합니다. –

+0

내 Laravel 문제가 해결되었습니다. 최고 – Ryan