2008-11-07 6 views
5

IIS 6에서는 동일한 웹 응용 프로그램을 가리키는 여러 개의 도메인 이름을 가질 수 있으며 조건부로 도메인 이름을 기반으로하는 웹 응용 프로그램 내에서 CSS를 제공 할 수 있습니까?여러 도메인, IIS 6의 동일한 웹 응용 프로그램

스킨이 도메인 이름에 종속적 인 상태에서 동일한 웹 응용 프로그램에 수백 가지의 "스킨"을 호스팅해야하며 실제로 많은 웹 응용 프로그램을 실행하고 싶지 않습니다.

답변

7

+1에 여러 개의 신원을 추가하는 데는 +1이 필요하지만 HttpModule을 만드는 것은 약간 이상입니다. Request.Headers [ "HOST"]

+0

이것은 매우 유망 해 보입니다. –

+0

고맙습니다. 이 일을 끝내는 데 너무 오래 걸려서 미안해. –

2

1) 원하는 웹 사이트 식별자를 웹 사이트 탭의 고급 속성 페이지에 추가하십시오.

2)) 도메인 이름

4를 기반으로 .CSS 요청에 대한 URL을 쓰기 다시 것 HttpModule을 쓰기 aspnet_isapi.dll을

3)에 .CSS 확장 매핑을 통해 모듈을 활성화 web.config

+0

API를 통해이를 수행 할 수있는 방법이 있습니까? 수백 명이있을 것입니다. –

+0

서버에 하나의 사이트 만있는 경우. 사이트를 기본값으로 설정하고 ID를 설정하지 마십시오. 도메인에 관계없이 모든 요청은 기본 웹 사이트로 이동합니다. –

+0

@Pittsburgh DBA via API를 통해 COM 또는 네이티브 WIN32 API를 사용하고 관리되는 .NET 환경을 통하지 않음을 의미합니까? 그렇다면 다시 작성을 수행하고 IIS에 등록 할 기본 isapi 필터를 작성할 수 있습니다. google 다음 키워드에 isapi filters iis – rhinof

1

테마를 사용하는 경우 테마를 변경하면 Page.PreInit의 CSS 등을 Request.ServerVariables [ "Url"]의 도메인 값에 따라 변경할 수 있습니다 (참고로, 도메인 이름을 얻으려면 더 나은 서버 변수가있을 수 있습니다.)

테마를 사용하지 않는 경우 동일한 서버 변수를 검사하여 프로그래밍 방식으로 CSS 파일을 바꿀 수 있습니다.

MasterPages가 여기에 친구가 될 것입니다.

올바른 방향으로 너를 밀어 준 희망. 그것은 가능하고 일반적입니다.

+0

나는 주제에 익숙하지 않다. 지금 찾고있어! –

1

사이트에 다른 핵심 콘텐츠가있는 경우 전역 식별자를 입력하여 사용자가 어느 사이트에 있는지 추적하고 해당 식별자에 대한 참조를 위해 어딘가에 DB에 데이터를 저장하는 것이 좋습니다. 이것은 각 인스턴스가 고유 한 경우 앱을 확장하는 가장 쉬운 방법입니다.

클래스에 넣을 수 있으며 물건을 매핑 할 위치를 파악할 수있는 하나의 공통 패턴이 있습니다. 캐싱 할 매핑을 알고 나면 수천 개의 앱이나 db 호출 대기 시간없이 원하는 작업을 수행 할 수 있습니다.

호스트되는 도메인에 대한 결과 만 얻도록 일반 DB 호출에도이 매개 변수를 추가해야합니다. 이것에 대한 약간의 경험이 있으므로 몇 가지 구체적인 코딩 예제를보고 싶다면 몇 가지 의견을 남겨주십시오.

이 기술을 참조 용으로 모든 파일, CSS 스타일 시트 또는 개체에 적용 할 수 있습니다.

+0

고맙습니다. 이는 통찰력있는 의견입니다. 나는 아직도 "받아 들여진"대답을 골라 내고자 노력 중이다. 투표 했어. –

1

의 내용을 검토하여 마스터 페이지에서 태그의 URL을 간단히 전환 할 수 있습니다.이 작업은 간단해야합니다. IIS에서 호스트 헤더를 사용하여 도메인 이름을 앱에 매핑하는 방법을 생각해 보겠습니다. 그런 다음 마틴이 말했듯이 앱의 Request.Headers [ "HOST"]에 문의하여 스타일 시트를 전환하십시오.

관련 문제