Reputation: 85
Im using .htaccess to redirect www. to non www. & http:// to https:// but I'm getting this error in chrome: ERR_TOO_MANY_REDIRECTS and the site isn't working in other browsers. Here is the code I have used in my .htaccess file.
RewriteCond %{HTTP_HOST} ^www\.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
RewriteRule ^ %1%3%{REQUEST_URI} [R,L]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Any help would be much appreciated.
Upvotes: 1
Views: 1039
Reputation: 785631
Looks like you are attempting these 2 things using your rules:
www
from domain namehttps
For this you can use a single rule as this instead of all the code shown:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]
Make sure to clear your browser cache before testing this change or use a new browser.
Upvotes: 1