2011-08-03 3 views
1

사용자가 x.website.com에 액세스하려고하면 특정 상태에 대한 결과가 표시되는 프로젝트가 있습니다. 52 개의 하위 도메인을 만들지 않고 어떻게 진행할 수 있습니까? 수동으로?와일드 카드 하위 도메인을 스크립트에 전달하는 하위 도메인

htaccess와 함께 할 수있는 방법이 있습니까? state.website.com/search.php에 액세스하면 상태 X에 대한 모든 결과를 표시하므로 상수 변수가 필요합니다.

더 좋은 방법이 있습니까? 아무도 도와 줄 수 있습니까?

답변

3

당신은 wildcard DNS record*.example.com로를 정의해야합니다 감사합니다. 실제 DNS 레코드가 정의되지 않은 액세스 된 모든 하위 도메인은 와일드 카드 레코드로 전송됩니다.

도메인 등록 기관에 와일드 카드 레코드를 만들 수 있는지 확인하십시오. 당신의 .htaccess 파일에서

, 당신과 같이 하위 도메인을 매핑 할 수 있습니다 : index.php 내부

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$ [NC] 
# The state is captured as %1 
RewriteRule . /index.php?state=%1 [L,QSA] 

# More generically - pass the state to any request 
# I think this will work without going to a redirect loop 
RewriteRule ^(.+)$ $1?state=%1 [L,QSA] 

를 사용하면 쿼리 문자열에서 상태를 검색 한 후에는 $_SESSION에 저장하고 있음을 사용할 수있는 검색 필터 등 .

+0

그래서 둘 다 처리해야합니까? DNS 와일드 카드 및 htaccess? 또한 나는이 잘못된 일이 state.website.com/search.php라고 할 수 있다고 생각하는 데 잘못인가? 그것은 index.php로 전달하려고했기 때문에? –

+0

와일드 카드 DNS 레코드와 .htaccess가 모두 필요합니다. 그러나'? state ='의 쿼리 문자열 값을 PHP로'$ _SESSION'에 저장하고 검색을 위해 검색 할 수 있습니다. –

관련 문제