2013-06-11 3 views
0

현재 rewritemaps.config (다음은 these instructions)라고하는 URL 재 작성을 위해 외부 파일을 사용하고 있습니다. 그러나 대신 web.config에서 수동 항목을 사용하여 해당 파일의 항목을 덮어 쓰고 작동하지 않는 경우가 있습니다.별도의 파일에 URL 재 작성을 저장하면 수동 입력이 무시됩니까?

특히이 문제는 Google에서 콘텐츠 실험 (A/B 테스트)을 사용하여 URL에 쿼리 스트링을 많이 사용하는 문제를 해결했습니다. 내 콘텐츠 실험의 유효성을 검사 할 때

websiteurl.com/webpage1?utm_expid=########-#&utm_referrer=http%3A%2F%2Fwebsiteurl.com%2F 

지금, 나는 웹 서버가 utm_expid을 거부합니다

오류를 얻을 : 쿼리 문자열은의 형식을 취합니다. 서버가 URL에 추가 된 쿼리 인수를 지원하지 않습니다.

<add key="/webpage1" value="/somefolder/file.aspx?id=18" /> 

다시 쓰기 규칙이 잘 작동하지만, Web.config의에서 수동 항목없이 금액 : rewritemaps.config 파일에서 우리는이 라인을 가지고 있기 때문에 특정 URL에 대한 사실이다

... 작동하는 것 같습니다. rewritemaps.config의 행을 주석 처리하고/webpage1에 도달하려고하면 예상되는 404 ..와 오류가 발생합니다. true로 false로 appendQueryString,

<rewriteMaps configSource="rewritemaps.config" /> 

내가 추가 한 QUERY_STRING 조건 전에

<rule name="test rewrite" stopProcessing="true"> 
<match url="^(https?:\/\/)?websiteurl.com\/webpage1(.*)*" /> 
<action type="Rewrite" url="{R:1}/somefolder/file.aspx?id=18" appendQueryString="false" /> 
</rule> 

나는 재 작성 규칙을 배치하고 있습니다 :하지만처럼 내 Web.config의에서 수동 항목을 사용하려고 와일드 카드 patternSyntax를 사용한다고해도 아무 것도 작동하지 않습니다. 따라서 외부 rewritemaps.config 파일이 있으면 web.config에 수동으로 다시 쓰기 규칙을 추가 할 수 없다고 생각합니다.

사실인가요? 그렇다면 재 작성에서 쿼리 문자열을 허용하는 기능을 추가해야하므로 수동으로 재 작성 규칙을 재정의 할 수 있습니까?

답변

0

많은 놀라움과 연구 끝에, 나는 this questionhighest voted answer을 우연히 만났습니다. 지금은 rewriteemaps.config에있는 재 작성 규칙을 사용하고 있습니다.

{REQUEST_URI}을 {PATH_INFO} (으)로 변경

관련 문제