처음에는 나에게 단순 해 보였지만 지금은 매우 어렵다는 것을 알고 있습니다. 어쩌면 나는 그것을 생각하고 끝났습니다. 당신의 도움을 사랑할 것입니다.PHP 하위 도메인을 IP 주소에 민감하게 검사하십시오.
개요 : 나는 (고객에 대한 고객 1 1) 두 개의 인터페이스와 웹 응용 프로그램이 있습니다. 모두 고객은 편도로 라우팅되며 모두 고객은 다른 라우트로 라우팅됩니다. 하위 도메인을 기반으로 표시 할 로그인 화면을 결정합니다. 내가 ENV에 문자열 조작을 수행하여 전에이 결정되었다 ("HTTP_HOST"고객에 [CLIENTNAME] .example.com을
문제를 이동 기본 도메인 (+ WWW)과 클라이언트를 얻을) - 아래 코드를 참조하십시오. 그러나 로컬 IP를 사용할 때 (다른 장치/사람과 테스트 할 때) 문제가 발생합니다. 내 코드는 '.'을 찾습니다. 호스트 환경은 0
를 IP를이 '로컬 호스트를'3 점을 가지고 있기 때문에 실패가에 ...이 내가 설립 한 다른 명명 된 매개 변수입니다 나는 경로를 할 방법을
CUSTOMER ----------------------------- CLIENT
xyz.example.com ------>
<------ www.example.com
<------ example.com
xyz.localhost ------>
<------ www.localhost
<------ localhost
xyz.192.168.X.X ------>
<------ www.192.168.X.X
<------ 192.168.X.X
나는 정말 이것을 생각하고있을 수 있고 나를 위해 이것을 할 "get_subdomain()"과 같은 간단한 PHP 함수가 있기를 바라고 있습니다. 그러나 나는 그것을보고 있지 않으며 약간 도움을 정말로 사랑할 것입니다.
감사합니다.
현재 코드 :
$host = env("HTTP_HOST");
$group = null;
// if there is exactly one dot IE example[dot]com then there is no subdomain
if(substr_count($host,'.')==1){
$group = 'customer'
}else{ // there is a subdomain
$subdomain = substr($host, 0, strpos($host, "."));
if($subdomain=='www'){
$group = 'customer'
}else{
$group = 'client'
}
}
CakePHP의 그 도움이된다면?
그게 내가하는 일 이었어.하지만 내가 알아 차린 모든 이유는 내가 웹 앱을 동반 할 모바일 앱을 개발하고 있기 때문이다. 이 모바일 앱은 LAN IP를 통해 내 로컬 컴퓨터와 통신해야합니다. 내가 아는 한 휴대 전화에는 편집 할 수있는 호스트 파일이 없습니다. 그래서 나는 그것을 cakephp 부트 스트랩 자체에 하드 코드하지 않으면 서브 도메인을 결정하는 더 좋은 방법이 필요합니다. – isick
일부 타사 앱이 필요하지만 Android 휴대 전화에서 hosts 파일을 편집 할 수 있다고 생각합니다. 예를 들어이 토론은 다음과 같습니다. http://forum.xda-developers.com/showthread.php?t=514698 –
감사합니다. – isick