2014-10-02 10 views
0

도메인 example.com이 있고 .htaccess에 다음 코드를 사용하여 www가 아닌 ​​www 주소로 전달합니다. htaccess 하위 도메인으로 리디렉션

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

는 지금은 하위 도메인의 test.example.com을 만들어 때문에 위의 규칙에, 그는 http://www.test.example.com에가는, 그래서 나는 비 www가에 www를 리디렉션하는 자신의 htaccess로 파일의 작성 생각했다. 그래서 하위 도메인 루트에서 아래 규칙을 가진 .htaccess 파일을 가지고 있습니다. 그것은 작동하고 리디렉션 순환에 없을거야

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^test\.example\.com$ [NC] 
RewriteRule ^(.*)$ http://test.example.com/$1 [R=301,L] 

, 어떻게 그것을 해결할 수 있습니까?

답변

0

이 문제에 대한 매우 쉬운 해결책을 발견했습니다.

내 메인 사이트 문서 루트는 /home/example/public_html이고 하위 도메인 문서 루트는 /home/example/public_html/test입니다.

방금 ​​하위 도메인의 문서 루트를 /home/example/test으로 변경했으며 효과가있었습니다.

0

! 탈출구

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^test.example.com$ 
RewriteRule ^(.*)$ http://test.example.com/$1 [R=301,L] 
+0

작동하지 않았지만 여전히 동일한 문제입니다. 하위 도메인 htaccess 파일에서만 변경했습니다. – Pankaj

+0

실제로 해당 파일을 친 것입니까? 유령 문제는 어쩌면? – brian

+0

htaccess 규칙을 제거하자마자 곧바로 작동하고 www.test.example.com으로 전달합니다. – Pankaj

0

두 가지 규칙이 필요하지 않습니다. 그냥 메인 도메인에 대한 주의 .htaccess에이 규칙을 계속 :

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example\.com$ [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L] 

지금 RewriteCond %{HTTP_HOST} ^example\.com$ 조건은 그대로 귀하의 하위 도메인을 떠나는 주요 도메인에 영향을 미칠 것입니다.

+0

DocumentRoot를 변경하면 하위 도메인에 영향을주지 않지만, 향후 CNAME, 별칭 도메인을 만들 경우에도이 규칙을 유지할 수 있습니다. – anubhava

관련 문제