2011-03-23 5 views
0

https를 사용하는 http 및 기타 페이지를 사용하는 일부 웹 사이트가 있습니다. 이제 mod_rewrite를 사용하여 http 또는 https를 사용하는지 여부에 상관없이 www를 모든 URL에 추가하려고합니다.HTTP 및 HTTPS URL에 www를 추가하십시오.

나는 htaccess로 내 현재 코드를 가지고 :

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

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !index.php 
RewriteCond $1 !^(index\.php|public|assets|robots\.txt) 
RewriteRule ^(.*)$ ./index.php/$1 [L] 

만 나머지 부분과 처음 두 줄에 초점을하시기 바랍니다 다른 재 작성 규칙에 대한하지만 그들은 처음에 오류가 발생 된 경우에 나는 그것을 포함 2 라인.

이제 모든 페이지가 http로 리디렉션되지만 https를 사용하는 페이지가 올바른 프로토콜로 리디렉션되도록하고 싶습니다. StackOverflow (htaccess redirect for non-www both http and https) 스레드에 대한 솔루션을 시도했지만 나를 위해 작동하지 않습니다.

답변

0

답변을 연결하면 완벽하게 작동합니다. 작동하지 않으면 HTTPS 변수가 설정되지 않은 것으로 보입니다. 이는 일반적으로 아파치 서버에서 HTTPS를 수행하지 않기 때문에 발생합니다. 아마도 프록시 나로드 밸런서가 있습니까? 이 경우 HTTPS 변수가 설정되었는지 확인해야합니다. 이런 식으로 뭔가가 종종 트릭 (예 아마존 탄성로드 밸런서 작동)을 수행합니다 나는 당신이 무슨 뜻인지 정말 모르겠지만,이 사이트에서 HTTPS를 사용하여, 잘

SetEnvIf X-Forwarded-Proto https HTTPS=1 
+0

를, 그것은 바로 mod_rewrite는이 아무튼입니다 어떤 이유로 든 제대로 리디렉션하지 않습니다. – peter

+0

HTTPS가 mod_ssl 또는 다른 것을 통해 제공되고 있습니까? – easel