Pistej
Pistej

Reputation: 40

redirect drupal 7 site to https

I have Drupal 7 site with default .htaccess file. I need redirect all site possibilities to one https site.
What I need is:
http://example.com -> https://example.com http://www.example.com -> https://example.com https://www.example.com -> https://example.com
I have tried many options but I still get error: "This Webpage has a redirect loop."

Default .htaccess looks like: .htaccess

[Edited] I found solution:
for remove www and retirect to https:
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]<br> RewriteRule ^ https%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]
for redirect non www to https:
RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]

Upvotes: 0

Views: 3463

Answers (2)

Dizzle McShizzle
Dizzle McShizzle

Reputation: 11

You can also try setting the base_url setting in settings.php. By default it's commented out, but you can uncomment it and set it with the desired protocol:

$base_url = 'https://'.$_SERVER['SERVER_NAME'];  // NO trailing slash!

This has saved me on multiple occasions, in particular when trying to force HTTPS from behind a proxy server, and using the Domain Access module in Drupal 7. I found the solution here.

Upvotes: 1

Hermann Schwarz
Hermann Schwarz

Reputation: 1745

Maybe someone is interested in these redirections (to https AND to www.*):

http://example.com to https://www.example.com

and

http://www.example.com to https://www.example.com

.htaccess:

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

Upvotes: 0

Related Questions