2009-08-06 3 views
0

1 1.1에서 시작되었으며 IIS5에서 IIS6으로 이식 된 ASP.NET 3.5 응용 프로그램이 있습니다. 이제 IIS7로갑니다. 위로 1.1 일 동안 우리는 HTTP 모듈을 기반으로 URL 재 작성 기능을 구현했습니다. 여전히 매우 안정적 인 매우 복잡한 로직이 작동합니다. 이 URL의이iis7에서 iis7 가상 디렉터리 리디렉션 변경

www.abc.com/merchant 

처럼 타고 'ABC'가 그 브랜드를 판매하는 많은 기업 중 하나입니다 제품의 브랜드와 '상인'을 나타낸다는 것을 알아 내기 위해 우리가 할 수 있습니다. 여태까지는 그런대로 잘됐다.

URL을 보존하기 위해 때때로 IIS6의 가상 디렉터리 리디렉션 기능을 사용하여 www.abc.com/oldMerchant를 www.abc로 리디렉션합니다. .com/newMerchant 또는 www.micorsoft.com과 같이 완전히 다른 것. 지금은 약 12 ​​가지가 있습니다.

저는 IIS7에서 동일한 작업을 시도하고 differnet 메커니즘을 설명하는 많은 게시물 (예 : this)을 발견했습니다. 내가 가진 가장 큰 문제는 IIS7에서 가상 루트 경로가 IIS6에서 수행되지 않았지만 내 URL 재 작성 논리를 통해 이동한다는 것입니다. 즉, www.abc.com/oldMerchant를 www.abc.com/newMerchant로 리디렉션하는 대신 URL 재 작성이 먼저이를보고, oldMerchant가 유효한 판매자가 아니라고 결론을 짓습니다.

이 문제를 해결하기 위해 코딩 도로를 떠나기 전에 누군가 내가 놓친 마법 같은 스위치를 알고 있습니까?

+0

예, 우리는 같은 문제가 있으며 해결했습니다. 문제를 지적하기 위해 web.config 코드/설정을 표시해야합니다. –

+0

http://www.urlrewriting.net/149/en/home.html –

답변

0

내 눈이 내 머리 위로 굴러 가고 있습니다. 대신 www.abc.com/newMerchant에 www.abc.com/oldMerchant 리디렉션입니다

는 URL 재 작성은 먼저보고 (예상대로) oldMerchant 유효한 상인이 아니라고 결론 지었다.

그래서 재 작성 논리에서 리디렉션 할 사이트에 적절한 리디렉션 규칙을 포함 할 수 있습니까? (IIS7 재 작성 모듈에서 리디렉션이 가능하다고 가정합니다.)

+0

의 도움으로 URL 재 작성을 구현해야합니다. 물론 가능합니다. 이 경우 내가 가진 문제는 'oldMerchant'에 대한 기록이 사라진 것입니다. IIS6에서 할 수있는 것처럼 IIS없이 코딩없이이 문제를 해결할 수 있기를 바랬습니다. – n8wrl

+0

네, Gotcha. 무엇이 바뀌 었는지는 확실치 않지만, 'oldMerchant'를 404 페이지로 리다이렉트하는 특수한 경우라면 만족할 것입니다. – Cheeso

0

IIS7을 통합 모드 또는 클래식 모드로 실행하고 있습니까? 나는 당신이 통합 모드로 운영되고 있다고 기대한다. 이것은 닷넷 파이프 라인을 통해 모든 트래픽을 전송하는 새로운 모드입니다. 클래식 모드로 전환하면 다시 작동하기 시작할 수 있다고 생각합니다.

+0

통합 모드이므로 의미가 있습니다. – n8wrl

+0

그는 고전 모드로 이동하면 그는 IIS 7 기능을 잘못 이해합니다. 클래식 모드는 실제로 IIS 6입니다. http://blogs.msdn.com/tmarq/archive/2007/08/30/iis-7-0-asp -net-pipelines-modules-handlers-and-preconditions.aspx –

+0

실제로. 코드를 수정하는 것이 가장 좋습니다. – David