사용자를 위해 데이터베이스에있는 하위 도메인과 사용자 정의 도메인 이름을 사용하는 응용 프로그램을 구축 중이므로 요청이 다른 도메인에서 온 경우, 해당 맞춤 URL이 실제로 존재하거나 요청이 하위 도메인에서 오는 경우 데이터베이스에서 확인할 것입니다. 그것이라면 나는 내 물건을한다. 다른 도메인 또는 하위 도메인에서 요청이 왔는지 확인하는 가장 좋은 방법
이 찾고있는 사람이있어이 I의 간단한 예를 고려해if(is_user_request())
{
$url = get_url();
// assuming that get_url() magically decides whether to output ..
// a custom domain (http://domain.tld)
// or a subdomain's first part (eg. "this".domain.tld)
}
else
{
// otherwise it's not a sub domain nor a custom domain,
// so we're dealing with our own main site.
}
을 이제 내가 0 담당자를 가지고 있기 때문에, 내가 여기에 "TEH 코드"에 대한 부탁 해요 가정 진행하기 전에. 나는 다음을 수행하는 완전히 작동하는 방법을 가지고있다 :
// hosts
$hosts = explode('.', $_SERVER['HTTP_HOST']);
// if there is a subdomain and that's under our $sitename
if(!empty($hosts[1]) AND $hosts[1] === Config::get('domain_mid_name'))
{
$url = $hosts[0];
$url_custom = false;
}
// if there is no subdomain, but the domain is our $sitename
elseif(!empty($hosts[0]) AND $hosts[0] === Config::get('domain_mid_name') AND !empty($hosts[1]) AND $hosts[1] !== Config::get('domain_mid_name'))
{
$url = false;
$url_custom = false;
}
// otherwise it's most likely that the request
// came from a entirely different domain name.
// which means it's probably $custom_site
else
{
$url = false;
$url_custom = implode('.', $hosts);
}
if($url)
{
return $url;
}
if($url_custom)
{
return $url_custom;
}
그러나 나는 이것을하는 더 좋은 방법이있을 것이라고 확신한다. 우선 HTTP_HOST에는 'http : //'가 포함되어 있지 않으므로 수동으로 추가해야하며이 전체 if, else thing이 과도하다고 확신합니다. 그래서, 나보다 똑똑한 사람, 나를 가르쳐주세요.
아, 아니요 ... 사전 정의 된 하위 도메인이 없습니다. 간단한 와일드 카드 * .domain.tld를 설정 했으므로 모든 하위 도메인이 기본 스크립트로 이동합니다. 저는 솔루션 검색을 통해 수작업으로 서브 도메인을 만들 것을 제안하는 수많은 답변을 발견했기 때문에 원격 도메인과 관련이 없기 때문에이 주제를 건너 뛰겠습니다.
이것은 좋은 대답입니다. 그리고 속도에 대한 메모도 많이 감사합니다. –