2011-08-12 3 views
0

을 보여 htaccess로를 구성하는 방법 : 같은 가상 둘째 하위 도메인에 대한 특정 페이지를 리디렉션 또는 표시 할 수 있도록 : virtual.hotels.sample.com나는이 목표를 가지고 동적 두 번째 하위 도메인

을하고 난이 있습니다 htaccess 규칙이 작성된

RewriteEngine On 
Options +FollowSymlinks -Indexes 
RewriteBase/

RewriteCond %{HTTP_HOST} !^hotels.sample\.com$ 
RewriteCond %{HTTP_HOST} ^(.*?)\.(www\.)?hotels.sample\.com$ [NC] 
RewriteRule (.*) http://hotels.sample.com/$1 [R=301,L] 

RewriteRule ^cheap-hotels-country/([A-Za-z0-9]+)/([A-Za-z0-9]+)\/?$ index.php?country=$1&custom=$2 [L] 
RewriteRule ^cheap-hotels-city/([A-Za-z0-9]+)/([A-Za-z0-9]+)\/?$ index.php?city=$1&custom=$2 [L] 
RewriteRule ^cheap-hotels-country/([A-Za-z0-9]+)\/?$ index.php?country=$1 [L] 
RewriteRule ^cheap-hotels-city/([A-Za-z0-9]+)\/?$ index.php?city=$1 [L] 

RewriteRule ^find-cheap-hotels-country/([A-Za-z0-9]+)/([A-Za-z0-9]+)\/?$ index2.php?country=$1&custom=$2 [L] 
RewriteRule ^find-cheap-hotels-city/([A-Za-z0-9]+)/([A-Za-z0-9]+)\/?$ index2.php?city=$1&custom=$2 [L] 
RewriteRule ^find-cheap-hotels-country/([A-Za-z0-9]+)\/?$ index2.php?country=$1 [L] 
RewriteRule ^find-cheap-hotels-city/([A-Za-z0-9]+)\/?$ index2.php?city=$1 [L] 

RewriteCond %{HTTP_HOST} ^(.*)\.hotels.sample.com$ [NC] 
RewriteCond %1 !^(www)\.hotels.sample.$ [NC] 
RewriteRule ^([^/]+)/?$ /home/sample/public_html/index.php [L] 

물론 작동하지 않습니다. 누군가 나를 도울 수 있기를 바랍니다 !!

+0

이 요구되는 사항에 대한 당신이 행복 정교한 작업이 완료 될 수 있을까요? 예제도 제공하십시오. Thnx – LazyOne

+0

잘 somename.hotels.sample.com 예를 들어 hotels.sample.com에서 색인을 표시하는 데 필요한 .. 기본적으로 그런 .. –

+0

그게 있다면 - 그럼 당신은 단순히 같은 폴더에 하위 도메인을 가리 키지 않는 이유는 무엇입니까? 메인 도메인으로? 당신이 다른 것을 원한다면, 더 잘 묘사하십시오. – LazyOne

답변

0
RewriteCond %{HTTP_HOST} !^hotels.asia\.com$ 
RewriteCond %{HTTP_HOST} ^(.*?)\.(www\.)?hotels.sample\.com$ [NC] 
RewriteRule (.*) http://hotels.sample.com/$1 [R=301,L] 

수정하십시오! 다음이 부분은 실행되지 않습니다 결코 virtual.hotels.sample.com, 그래서 http://hotels.sample.com/로 리디렉션됩니다 : 당신의 호스트 가정

RewriteCond %{HTTP_HOST} ^(.*)\.hotels.sample.com$ [NC] 
RewriteCond %1 !^(www)\.hotels.sample.$ [NC] 
RewriteRule ^([^/]+)/?$ /home/sample/public_html/index.php [L] 
+0

이제 수정되었습니다 .. 도와주세요. –

+0

@maida barrientos보세요! RewriteRule은 서버 (/home/sample/public_html/index.php)의 실제 경로가 아닌 URL (예 : forum/private.php? do = showpm & pmid = 54996)에서 작동합니다! http://hotels.sample.com/의 색인을 보여주고 싶다면 변경만으로 충분하다고 생각합니다! (RewriteRule (. *) http://hotels.sample.com/$1 [R = 301, L] 인덱스 페이지를 표시하지 않습니다, 그것은 동일한 경로 및 쿼리 문자열로 호스트를 변경합니다!) – undone

+0

@maida barrientos 첫 번째 부분은 당신이 원하는 것을 할 것입니다! 두 번째 부분은 필요하지 않습니다 (실행되지 않습니다)! – undone

관련 문제