2013-04-04 13 views
2

www가에게 복제 사용자가 내 .htaccess - 파일에이 코드를 사용하는 경우 http://example.com, www.example.com, https://example.com, http://www.example.com내가 <code>https://www.example.com</code>로 사용자를 리디렉션하기 위해 노력하고있어

을하려고 할 때 이와

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^(.*) https://www.%{SERVER_NAME}/$1 [R,L] 

문제가 www.example.com 또는 http://www.example.com에서 사용자 유형, 사용자가 다음 https://www.www.example.com로 리디렉션됩니다 때. 즉, www가 중복됩니다.

어떻게 이것을 피할 수 있습니까?

+3

을, 그러나 , 왜 '주제가 아닙니다'라는 것이 확실하지 않습니까? – Jon

+2

주제를 벗어나 지역화되지 않았습니다. 그런데 수십 개의 비슷한 질문이있을 수 있으므로 * 중복 될 수 있습니다 *. 이 경우 불행하게도 매우 자주 여기에서 일어나기 때문에 그것은 단지 의미가 아닙니다. –

답변

2

(실제로 RewriteRule에 일치 아무것도 사용하지 않고) ^^ 아마이 작동합니다 :이 ...이가 '현지화에'고려 _might_ 방법을 이해 폐쇄 것들로

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} (?:www\.)?(.*) [NC] 
RewriteRule ^(.*) https://www.%1/$1 [R,L] 
+0

'www'가 항상 존재하는지 확인하는 좋은 방법입니다. ^^ – Jon

+0

매력처럼 일했습니다! –

0

은 당신이 봤어 :

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

이 호스트를 얻기 위해 아파치를 사용하고 리디렉션을 위해에 의존하지 않으며, 또한뿐만 아니라 아파치를 사용하여 요청 된 URI를 유지합니다.

+0

예! 그게 www를 중복 제거하지만, 사이트를 통해 입력 할 때. 'http : // example.com' 만'https : // example.com'으로 리디렉션됩니다. 도메인이 항상 https : // www.example.com이어야합니다. 빠른 응답 주셔서 감사합니다, : –

+0

괜찮습니다! 미안 해요, 나는 항상'www'를 요구하는 첫 부분을 잘못 읽었습니다. ^^ – Jon

관련 문제