2011-01-19 4 views
0

여기에 나와있는 내용이 있습니다. 기본적으로 나는 여러 개의 도메인을 가지고 있는데 도메인 중 하나가 사이트의 정규베이스를 가리키고 싶습니다. 그러나 다른 도메인은 주소 표시 줄의 URL을 수정하지 않고없이 사이트 의 하위 섹션을 가리 킵니다. 아이디어는 각 여분의 도메인이 자신의 섹션에 브랜딩된다는 것입니다.사이트 하위 섹션의 여러 도메인

예 :
www.domain.com
www.domain2.com 포인트 사이트의 최상위은
을 www.domain.com/def하는
www.domain3.com 점을 www.domain.com/abc하기 등

예에서 'abc'및 'def'는 파일 시스템의 실제 디렉토리가 아니며 데이터베이스에 정의 된 가상 영역입니다.

나는 꽤 많은 시간을 보냈고 이것에 맞는 것을 찾을 수 없었다. 나는 이 아니며은 프레임을 사용하기 때문에 도메인 클로킹을 사용하려고합니다. 일반 리디렉션은 분명히 옳은 것을 가리 키기 쉽지만 주소 표시 줄에서 URL을 변경합니다.

이 작업을 수행 할 수있는 방법이 있습니까?

편집 : 마크 아래 제안,하지만 사람이 내가 본 작업을하기 위해 mod_rewrite를 사용할 수있는 방법을 밝혀 수있는 내가 별칭을 추가 한
?

+0

DNS 서버에 액세스 할 수 있습니까? –

+0

DNS 레코드를 편집 할 수 있습니다. – dev

+0

추가 도움 요청에 대한 대대적 인 대응에 죄송합니다. 불행히도 상황에 대한 세부 정보를 모르는 상태에서 완전한 해결책을 제공하기는 어렵지만 힌트를주기 위해 내 대답을 편집했습니다. 자세한 내용을 편안하게 공유 할 수 있다고 생각되면 markeirich.com/contact로 저에게 연락하십시오. 그렇지 않으면 온라인으로 mod_rewrite 예제를 연구하거나 누군가를 고용해야합니다. –

답변

5

먼저 DNS 레코드가 웹 서버의 IP를 가리켜 야합니다.

둘째, 동일한 VirtualHost에서 여러 도메인을 제공하도록 Apache를 설정해야합니다. mod_alias를 활성화하고 VirtualHost 정의에서 ServerAlias ​​지시어를 사용하십시오. 예 :

ServerName www.domain.com 
ServerAlias domain.com www.domain2.com domain2.com www.domain3.com domain3.com 

정확하게 입력했으면 리디렉션없이 각 도메인에서 똑같은 콘텐츠를 볼 수 있습니다.

다음으로 아키텍처를 결정합니다. mod_rewrite를 사용하여 도메인을 기반으로 URL 라우팅 규칙을 하드 코딩하거나 PHP를 사용하여 $ _SERVER [ 'HTTP_HOST']의 값에 따라 라우팅을 수행 할 수 있습니다.

mod_rewrite를 사용하는 방법은 htaccess로 파일 같은 것을 추가 포함 할 수 있습니다

RewriteEngine On 

RewriteCond %{HTTP_HOST} domain2\.com$ 
RewriteRule ^(.*)$ /abc/$1 [L] 

RewriteCond %{HTTP_HOST} domain3\.com$ 
RewriteRule ^(.*)$ /def/$1 [L] 

이 높은 수준의 개요입니다. 특정 과정에 대한 세부 정보가 필요하면 제 대답에 대해 의견을 말하십시오.

+0

먼저 답해 주셔서 고마워요. 이것이 가능해야한다는 것을 알고 있기를 바랍니다. 약간의 정교가 좋을 것입니다. 네가하는 말을 이해하지만 좀 구체적인 것이 필요해. 도움이 될 표본 을 제공 할 수 있다면. mod_rewrite 나 php를 사용하는 것은 괜찮습니다.하지만 정확히 무엇을해야하는지에 대해서는 확신 할 수 없습니다. 부분적으로는 별칭과의 관계가 확실하지 않기 때문입니다. – dev

+0

별칭 비트 주셔서 감사합니다. 그것이 내가 예상했던 것입니다. 가장 확실하지 않은 점은 mod_rewrite를 사용하여 도메인 2.com의 모든 요청을 domain1.com/abc 및 domain3.com에 domain1.com/def로 매핑하는 방법으로 주소 표시 줄의 URL을 변경하지 않고이를 어떻게 사용할 수 있는지입니다. 그것은 내 PHP 코드에 그런 것을 통합 할 수 있지만, 라우팅이 이미 충분히 완료된 상황이므로이 작업을 분리하는 것이 훨씬 쉽습니다. – dev

관련 문제