2014-07-23 7 views
1

사용할 수없는 서버 변수 내 IIS 서버라고 COUNTRY_PATH 나는 역방향 프록시가 한 사이트에서 다른 사이트로 재 작성 및 액세스해야하고 있는가ISS URL 응용 프로그램 요청 라우팅과 다시 쓰기 : 나는 서버 변수를 설정 한

에 사용할 수 내 프록시 사이트에있는이 서버 변수. 그러나 결코 가치있는 것처럼 보이지 않습니다.

<rule name="Country Codes For DotCom" stopProcessing="true"> 
    <match url="^([A-Z]{2,2})(/)(microsite)(.*)" /> 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
      <add input="{HTTP_HOST}" pattern="\.com$" /> 
    </conditions> 
    <serverVariables> 
      <set name="COUNTRY_PATH" value="{R:1}{R:2}{R:3}" /> 
    </serverVariables> 
    <action type="Rewrite" url="http://internal.example.com/{R:1}{R:2}{R:3}{R:4}" /> 
</rule> 

역방향 프록시에 서버 변수를 사용할 수 있습니까?

string countryPath = HttpContext.Current.Request.ServerVariables["COUNTRY_PATH"] 

사람이 내가 뭘 잘못 제안 할 수 있습니다 :

I는 서버 변수를 얻기 위해 다음 코드를 사용하고?

+0

을 설정하려면 인바운드 재 작성 규칙을 사용하여 : HTTP : //stackoverflow.com/questions/23900415/custom-rewrite-provider-for-url-rewrite-module – lat3ncy

답변

0

허용 된 서버 변수에 추가 할 때와 rewrite serverVariable 요소에서 서버 변수를 참조 할 때 서버 변수 앞에 "HTTP_"를 붙입니다. 올바르게 입력했는지 확인하는 쉬운 방법은 기본 제공 유형 다운 기능을 사용하여 {H를 입력 한 다음 사용 가능한 옵션에서 {HTTP_COUNTRY_PATH}를 선택하는 것입니다. 자세한 설명은

아래 문서의 다음 섹션 참조하십시오 : 다른 사용자가 재 작성 공급자를 구현하는 유사한 문제가 있었다 요청 헤더 및 서버 변수

http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-20-configuration-reference

+0

감사하지만이 경우라고 생각하지 않습니다. 전에 HTTP로 접두어가 붙지 않은 서버 변수를 사용했습니다. ORIGINAL_URI라는 서버 변수를 설정하는 IIS.net의이 기사에서 설명한 것처럼 http://www.iis.net/learn/extensions/url-rewrite-module/setting-http-request-headers-and-iis- server-variables –

+0

메모리가 나를 올바르게 서비스한다면, 처음으로 새 서버 변수를 만들 때 뒷면에 물린 정확한 기사입니다. 내가 게시 할 때 내 모바일에 있었고, 이제는 내 대답을 뒷받침 할 참조를 추가했습니다. – lat3ncy

+0

추가 코멘트 : 만약 당신이 이미 그것을 사용하지 않으면, 귀하의 친구가 실패한 요청 추적. – lat3ncy