2016-06-18 5 views
1

https를 사용하는 서버에 배포하는 웹 사이트가 있습니다. 따라서 고객의 요구 사항은 다음과 같습니다.URL 앞에 https 및 www를 사용하면 많은 리디렉션이 발생하지 않습니다.

  1. Force https.
  2. URL을 유지하려면 https://www.example.com이 아닌 https://exambple.com으로 URL을 가져야합니다. 따라서 3w도 강제됩니다.

내가 원하는 효과를 얻기 위해 htaccess로 파일에이 규칙을 사용 :

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

그러나 사용하여 페이지 속도 PageSpeed Insights을 테스트 할 때 나는 가난한 서버 1의 응답 시간을 얻을. Chrome 개발자 도구를 사용하여 디버깅 마지막 리디렉션 후 웹 사이트의 응답 시간이 약 300ms이므로 리디렉션이 응답 시간을 늘리고 있음을 알 수 있습니다.

그래서 내 질문은 리디렉션을 최소화하면서 URL 앞에 https와 www를 어떻게 적용시킬 수 있습니까?

답변

1

과 같이 그 일을보십시오 :

포스 SSL을 :

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

힘 WWW를 :

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

당신은 당신의 URL과 WWW 및 HTTPS를 추가합니다 규칙 아래에 사용할 수 있습니다.

RewriteEngine On 

# Ensure www. 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 


# Ensure https 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
관련 문제