내 하위 도메인의 방문객에게 특정 하위 도메인 링크 형식을 사용할 때만 허용하려고합니다. 나는 이것이 SE를 차단할 것임을 알고 있지만 어쨌든 서브 도메인을 색인화하지 않기를 바란다.htaccess in subbdomain 리디렉션 규칙 건너 뛰기
subdomain.maindomain.com/aaa/bbb/ccc
을이로 다시 작성해야합니다 :
허용되는 링크는 다음과 같이한다
이 양식의 아니에요 및 빈 또는 외부 참조 페이지에서 오는 어떤하위 도메인을. maindomain.com/index.php?a=aaa & b = bbb & c = ccc
모든게은 변수 주요 도메인 및없이 이동한다
maindomain.com/ 내가 구성의 모든 종류의 시도
, 내 마지막을 그것은 또한 리디렉션 주 도메인에 허용 된 형식의 하위 도메인에 대한 요청과도에 요청으로 바르를 추가,
RewriteEngine on
RewriteRule ^/?(\w{3})/(\w{3})/(\w{3})$ index.php?a=$1&b=$2&c=$3 [S=1,L]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?maindomain\.com [NC]
RewriteRule ^(.*)$ http://domain\.com/ [L]
을하지만 여전히 내가 원하는 일을 아니에요 : 하위 도메인 폴더에 htaccess로 파일은 다음과 같습니다 메인 도메인,이 페이지로 이동
maindomain.com/?a=aaa & B = BBB & C = 혼
당신은 위에서 정의 된 상태로 날 수 있습니다.
성능에 관한 두 번째 질문 : 분명히 PHP를 사용하여이 확인/리디렉션을 수행 할 수 있지만 귀하의 의견에보다 효율적인 것은 무엇입니까?
감사합니다. 내가 제대로 당신의 논리를 이해하면
감사합니다.하지만 그래도 작동하지 않습니다. http://subdomain.domain.com/aaa/bbb/cee에 대한 직접 액세스는 여전히 http://domain.com/ – user2176640
으로 리디렉션됩니다. 작동하지 않는 기능은 무엇입니까? subdomain.domain.com에서 domain.com으로 다시 작성합니까? 코드를 몇 번 업데이트했습니다. – kjetilh
@ user2176640 업데이트 된 답변을 참조하십시오. '[L]'플래그가 항상 모든 추가 재 작성 처리를 멈추는 것처럼 보이는 것은 아니기 때문에'RewriteRule^index \ .php $ - [L]'지시자를 맨 위에 추가해야합니다. – kjetilh