2014-12-15 3 views
0

로컬 사이트가 있습니다 : http://domain.loc/이고 해당 사이트의 하위 도메인은 http://sub.domain.loc/입니다. Apache 서버를 어떻게 구성 할 수 있습니까? PHP을 사용하여 내 하위 도메인 이름 (이 경우 "sub")과 함께 전역 변수 : $_SERVER['REQUEST_URI']을 반환 하시겠습니까?하위 도메인은 REQUEST_URI의 일부로

예 : I 페이지 http://domain.loc/을 열 수 있을지는 /sub/

+0

으로 domain를 반환합니다. '.htaccess'가 괜찮지 않습니까? – vaso123

+0

유스 케이스 란 무엇이며'$ _SERVER [ 'HTTP_HOST']를 사용하지 않는 이유는 무엇입니까? $ _SERVER [ 'REQUEST_URI']'대신에? [PHP : $ _SERVER - Manual] (http://php.net/manual/en/reserved.variables.server.php)을 참조하십시오. – DanFromGermany

+0

최근 하위 도메인으로 새 프로젝트를 만들었습니다. 컨트롤러는 REQUEST_URI에 의해서만 포함 된 하위 도메인의 기본 페이지를로드해야합니다. 내가 어떻게 ... 모르지만 그것은 DEV 및 생산 서버에서 작동합니다. 내 로컬 컴퓨터에서 작동하지 않게 할 수 있습니다. –

답변

2

가능하지 않음에 http://sub.domain.loc/ 다음 $_SERVER['REQUEST_URI']은 동일 할 것이다 페이지를 열 수 있습니다 경우

다음 $_SERVER['REQUEST_URI']/
와 동일합니다. REQUEST_URI는 URL의 AFTER 호스트 이름 구성 요소 오는 것입니다 :

http://example.com/foo/bar/baz 
      ^--- HTTP_HOST 
        ^---- REQUEST_URI 

당신은 확실히 URI 구성 요소에 하위 도메인 이름을 가질 수 있습니다,하지만 그건 당신이 할 수있는 무언가, 무언가 아파치 + PHP는하지 않습니다. URL에 대한 기본 정의를 사용자에게 맞게 다시 작성하지는 않습니다.

+0

가능합니다 ... nginx : http://stackoverflow.com/questions/18869930/how-to-change-request-uri-in-nginx 그러나 나는 그것을 시도하지 않았습니다. 내 로컬 컴퓨터에 nginx가 없습니다. –

+0

nginx/apache의 문제가 아니라 php_mod와 php-fpm의 문제입니다. 프로젝트는 나쁜 구현 프로젝트에 맞게 서버를 해킹하는 대신 개선되어야합니다. – DanFromGermany

+0

네, 맞습니다. 하지만 그걸로 다시 작성해야하는 프로젝트의 큰 부분은 서브 페 포 (subrepo)와 다른 프로젝트에서 사용하기 때문에 나는 그걸로 아무 것도 할 수 없습니다. 아직도 설명해 주셔서 감사합니다. –

0

$_SERVER['HTTP_HOST'] 내가이 작업을 수행 할 할 이유를 물어 봐도 현재 subdomain

$parsedUrl = parse_url($_SERVER['HTTP_HOST']); 

$host = explode('.', $parsedUrl['host']); 

$subdomain = $host[0]; 
echo $subdomain;