2011-07-27 13 views
0

나는 등록 된 모든 사용자에게 다음과 같은 전용 공간을 제공하는 웹 사이트를 소유하고 있습니다. www.mywebpage.com/user1 www.mywebpage.com/user2 www.mywebpage.com/user3 이 경로에는 사용자가 자신의 미니 웹 사이트를 가지고 있습니다.각 사용자의 하위 도메인

내 도메인 내에서 내 사용자되지에게 경로를 제공하고자하지만,이 같은 두 번째 수준 도메인 : 이 user1.mywebpage.com user2.mywebpage.com user3.mywebpage.com

웹 사이트의 많은이,하지만 난 얻을 방법을 알아낼 수 없습니다 않는다 그것!

  1. 모든 단일 사용자에 대해 내 DNS 레코드에 CNAME을 등록해야합니까? PHP로 어떻게이 문제를 해결할 수 있습니까? 나는 인간의 손으로 쓰는 대본으로 godaddy를 구성하는 것이 가능하다고 생각하지 않습니다.

  2. 모든 2 수준 도메인을 상위 도메인으로 지정하는 별칭 CNAME을 등록한 다음 최상위 도메인에서 사용자를 검색하는 URL의 첫 번째 토큰을 확인할 수 있습니다. 그러나 이제는 새 URL로 리디렉션 할 수 없습니다. 페이지 (그의 하위 사이트의 색인) 또는 나는 웹 url userx.mywebpage.com을 잃어 버렸습니다.

어떻게 처리 할 수 ​​있습니까? 내 목표를 달성하기 위해 따라야 할 올바른 길에 대한 어떤 힌트도 감사 할 것입니다.

답변

2
  1. 와일드 카드 만들기 서버의 IP를 가리키는 레코드 (*.mywebpage.com).

  2. 모든 요청을 동일한 문서 루트로 지정하여 ServerName *.mywebpage.com에 대한 Apache 가상 호스트를 작성하십시오. 스크립트는 어떤 사용자의 사이트인지 알기 위해 호스트 이름을 봅니다. 사용자의 하위 도메인 외부로 리디렉션 할 필요가 없습니다. 스크립트에서 하위 도메인이 "www"인 경우 사용자의 물건 대신 기본 웹 사이트를 표시하는 특별한 경우입니다.

+0

하지만 일단 사용자가 등록하면 자동으로 이것을 만들기 위해 PHP 등록 스크립트 내에서 httpd.conf를 편집하고 아파치를 다시 시작해야합니다! 맞아? –

+0

@ hysoka44 아니요, 스크립트가 URL이 유효한지 여부를 결정하기 때문에 Apache가 아닙니다. 논리를 PHP로 옮겼으므로 Apache를 다시 시작할 필요가 없습니다. –

+0

당신이 할 일은 .htaccess를 사용하여 전체 URL을 index.php로 보낸 다음 색인 내에서 문자열 조작을 사용하여 URL을 조각으로 나눌 수 있습니다. 사용자가 실제인지 알아 내고 b. 표시 할 페이지를 찾아냅니다. – GiladG

0

당신이 얻으려고하는 것에 대해 DNS 항목을 설정하지 않아도됩니다. 웹 사이트에서 관리하는 정도에 따라 Apache를 사용하는 경우 하위 도메인에 대한 가상 호스트를 쉽게 설정할 수 있습니다 (http://content.websitegear.com/article/subdomain_setup.htm 참조)

+0

하지만 일단 사용자가 등록하면 자동으로 이것을 만들기 위해 PHP 등록 스크립트 내에서 httpd.conf를 편집하고 아파치를 다시 시작해야합니다! 맞아? –

+0

@ hysoka44 수정 – Dominik

0

자주보고 싶은 기능을 대개 와일드 카드 sudomain 사이트에는이 기능이 있습니다).

일반적으로 와일드 카드 하위 도메인을 나타내는 *의 CNAME 레코드를 만듭니다. 대신, Godaddy는 *라는 이름으로 A 레코드를 만들고 서버에 IP를 설정합니다. 우리는 과거에 ASP.net 웹 사이트에서 해왔습니다 (GoDaddy와 작동하지만 시도해보십시오.).

PHP에 대한 지식이 거의 없으므로 httpd.conf 또는 apache.conf 파일에 일부 리디렉션 (URL 재 작성) 구성을 추가하는 것이 좋습니다.

당신이 당신의 자신의 논리를 쓸 수 있습니다,이 후이 http://kbeezie.com/view/wildcard-subdomains-php/

을 확인하시기 바랍니다. 당신이해야 할 일은 하위 도메인 이름에있는 db에서 사용자를 찾아서 페이지를 렌더링하는 것입니다.