2017-03-02 6 views
0

Sitecore 다중 사이트 환경 (C#/MVC)을 실행합니다. 동일한 IIS 웹 사이트, 동일한 폴더, 동일한 코드가 여러 웹 사이트에 사용됩니다. 예를 들어, www.chalk.com 및 www.cheese.com과 같이 매우 다른 사이트는 있지만 동일한 IIS 웹 사이트 (호스트 헤더), 동일한 폴더, 동일한 웹 구성, 동일한 데이터베이스 백엔드를 사용합니다.사용자 지정 오류 defaultRedirect 변경

오류 페이지를 제외한 모든 것이 좋습니다. 내가

<customErrors mode="RemoteOnly"> 
    <error host="chalk.com" defaultRedirect="/chalkerror.html"> 
    <error host="cheese.com" defaultRedirect="/cheeseerror.html"> 
</customErrors> 

이 가능한 같은 것입니다

같은 뭔가가 필요

<customErrors defaultRedirect="/error.html" mode="RemoteOnly" />

:의 Web.config에서 나는 보통의 설정이?

답변

2

... 나를 위해

을 달성하기 위해 기술 6 개 좋은 방법이다, 나는 다시 쓰기 규칙에서 답을 찾아 냈다.

참고 : URL 재 작성 IIS Extention이 설치되어 있어야합니다. (Download Here)

내가 그래서, 다음 Web.Config

<system.webServer> 
    <rewrite> 
     <rules configSource="folder\filename.config" /> 
    </rewrite> 
    </system.webServer> 

그리고 설정 파일 (filename.config)

<?xml version='1.0' encoding='utf-8'?> 
<rules> 
    <rule name="Error-Chalk" patternSyntax="Wildcard" stopProcessing="true"> 
    <match url="error.html" /> 
    <action type="Rewrite" url="chalkerror.html" /> 
    <conditions> 
     <add input="{HTTP_HOST}" pattern="*chalk*" /> 
    </conditions> 
    </rule> 
    <rule name="Error-Cheese" patternSyntax="Wildcard" stopProcessing="true"> 
    <match url="error.html" /> 
    <action type="Rewrite" url="cheeseerror.html" /> 
    <conditions> 
     <add input="{HTTP_HOST}" pattern="*cheese*" /> 
    </conditions> 
    </rule> 
<rules> 

이 라인 <add input="{HTTP_HOST}" pattern="*cheese*" /> 도메인 이름에 경기를하게에 www.cheese.com를 추가하거나 image.cheese.com이 일치합니다. <match url="error.html" />은 요청한 페이지와 일치합니다. <action type="Rewrite" url="cheeseerror.html" />은 IIS가 제공 할 페이지입니다. 이제 다른 사이트에 대해 다른 오류 페이지를 가질 수 있습니다.

+0

공유 주셔서 감사합니다. 이 질문에는 사용자 정의 코드가 필요합니까? –

+0

@HishaamNamooya 아니지만 IIS 확장 URL 다시 쓰기가 설치되어 있어야합니다 ... https://www.iis.net/downloads/microsoft/url-rewrite HTH – Fred

0

명백하게 이것은 달성 할 수 없습니다. customErrors 설정은 특정 HTTP 오류 코드를 대상으로하는 오류 페이지로 리디렉션됩니다.

그러나 MVC 응용 프로그램에서 언급했듯이 host \ domain을 확인하고 필요한 ErrorView로 리디렉션하는 사용자 정의 오류 처리기 MVC 필터를 만들 수 있습니다.

는 또한, 여기에 예상되는 동작 누군가가이 질문을 발견 한 경우 MVC Exception Handling

+0

내 게시물을 참조하십시오. :) – Fred