2014-10-07 19 views
7

Niedawno zrobiłem analizę Google Page Speed ​​mojej stronie i otrzymał następującą wiadomość:Unikanie strony docelowej przekierowania za pomocą SSL

Unikać strona docelowa przekierowuje

Twoja strona ma 2 przekierowań. Przekierowania wprowadzają dodatkowe opóźnienia, zanim strona może zostać załadowana.

Należy unikać przekierowań stron docelowych dla następującego łańcucha przekierowanych adresów URL: .

http://example.net/

https://example.net/

https://www.example.net/

Czy mogę coś z tym zrobić (jak modyfikując mój plik .htaccess w jakiś sposób), czy też jest to nieuniknioną konsekwencją?

Oto mój .htaccess na wszelki wypadek:

RewriteCond %{HTTPS} off 
# First rewrite to HTTPS: 
# Don't put www. here. If it is already there it will be included, if not 
# the subsequent rule will catch it. 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
# Now, rewrite any request to the wrong domain to use www. 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Odpowiedz

4

Można połączyć dwa przekierowania do jednej stosując flagę OR

RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ [NC] 
RewriteRule^https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+1

Dzięki. Czy to powinno rozwiązać powyższą skargę PageSpeed, czy też jest to tylko ogólna optymalizacja, którą sugerujesz? –

+1

@JohnRoberts nie ma możliwości uniknięcia przekierowania strony docelowej, ponieważ chcesz wymusić schemat "www" i "https: //", ale przynajmniej jest to tylko 1 przekierowanie w przeciwieństwie do 2. –