나는 도메인을 가지고 example.com
있으며 모든 하위 도메인이 동일한 이름을 가진 디렉터리를 가리키는 방식으로 Ubuntu Apache 서버를 설정했습니다.
<VirtualHost *:80>
ServerAlias *.example.com
VirtualDocumentRoot /var/www/html/%1
</VirtualHost>
그래서 subdomain.example.com
가리킬 것입니다 example.com/subdomain
.
사용자가 자신이 선택한 하위 도메인을 자신의 사용자 지정 도메인으로 지정하도록 허용하려고 합니다. 이를 달성하려면 어떻게 해야 하며, 필요한 기록은 무엇인지, 도메인에 대해 수행해야 할 작업은 무엇입니까?가상 호스트?
나는 다음 기록을 시도했습니다.
sampledomain.example
(CNAME기록) -@
-->sample.example.com
sampledomain.example
(ㅏ기록) -@
--> (IP
example.com 주소)
또한 www
.A record
sample.example.com
성공적으로 을 가리킵니다 example.com/sample
. 그러나 sampledomain.example
어떤 이유로 루트 사이트처럼 작동합니다.
그래서 를 방문하면 을 가리키는 것이 아니라 sampledomain.example/sample
의 내용을 얻게 됩니다 .example.com/sample
sample.example.com
이것을 어떻게 정리할 수 있습니까? 어떤 기록이 필요하며 가상 호스트에 어떤 조치를 취할 수 있습니까?
사용자가 방문할 때 PHP를 통해 사용자 정의 도메인 이름을 검색할 수 있도록 CNAME 레코드를 사용했습니다. CNAME이 필요합니까?
답변1
고객의 요청에 따라 이 작업을 수동으로 수행해도 괜찮다면 쉽습니다. 당신이 해야 할 일은 ServerAlias sampledomain.com
가상 호스트 구성에 추가하고 웹 서버 구성을 다시 로드하는 것뿐입니다.
그러나 일종의 고객 제어 인터페이스에서 고객이 직접 이 작업을 수행하도록 하려는 경우 웹 서버의 가상 호스트가 작동하는 방식으로 인해 쉽게 달성할 수 없습니다. 이유는 다음과 같습니다.
A
웹 서버에 매핑된 DNS 레코드( 또는 에 관계없이 CNAME
) 가 있는 경우 브라우저는 HTTP 헤더가 로 설정된 sampledomain.com
서버 IP 주소로 요청을 보냅니다 . 웹 서버는 이 헤더를 사용하여 이를 처리할 가상 호스트를 결정하고 가상 호스트 이름도 별칭도 아닌 경우 경험한 대로 기본 가상 호스트가 요청에 응답합니다.Host
sampledomain.com
sampledomain.com
이를 가능하게 하려면 고객이 가상 호스트에 대한 별칭을 구성할 수 있는 방법이 필요합니다. Apache를 사용하면 쉽지 않지만 이론적으로는 설명된 대로 데이터베이스에서 이를 읽을 수 있습니다.여기(나는 이것을 시도한 적이 없으므로 이것이 작동하는지 전혀 모릅니다.)
또한 다음과 같은 것들이VirtualMin그런 경우에는 도움이 될 수 있습니다.