0

I've problem with modifications in an .htaccess.

The page doesn't appear and I have this message : ERR_TOO_MANY_REDIRECTS

Here's the modifications I've add in the .htaccess :

<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTPS} off RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule> 

This is an OwnCloud installation, the full .htaccess :

# Version: 8.1.0 <IfModule mod_headers.c> <IfModule mod_fcgid.c> <IfModule mod_setenvif.c> SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1 RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION </IfModule> </IfModule> <IfModule mod_env.c> # Add security and privacy related headers Header set X-Content-Type-Options "nosniff" Header set X-XSS-Protection "1; mode=block" Header set X-Robots-Tag "none" Header set X-Frame-Options "SAMEORIGIN" SetEnv modHeadersAvailable true </IfModule> # Add cache control for CSS and JS files <FilesMatch "\.(css|js)$"> Header set Cache-Control "max-age=7200, public" </FilesMatch> </IfModule> <IfModule mod_php5.c> php_value upload_max_filesize 513M php_value post_max_size 513M php_value memory_limit 512M php_value mbstring.func_overload 0 php_value always_populate_raw_post_data -1 php_value default_charset 'UTF-8' php_value output_buffering off <IfModule mod_env.c> SetEnv htaccessWorking true </IfModule> </IfModule> <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTPS} off RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule> <IfModule mod_rewrite.c> RewriteEngine on RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteRule ^\.well-known/host-meta /public.php?service=host-meta [QSA,L] RewriteRule ^\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L] RewriteRule ^\.well-known/carddav /remote.php/carddav/ [R=301,L] RewriteRule ^\.well-known/caldav /remote.php/caldav/ [R=301,L] RewriteRule ^apps/calendar/caldav\.php remote.php/caldav/ [QSA,L] RewriteRule ^apps/contacts/carddav\.php remote.php/carddav/ [QSA,L] RewriteRule ^remote/(.*) remote.php [QSA,L] RewriteRule ^(build|tests|config|lib|3rdparty|templates)/.* - [R=404,L] RewriteRule ^(\.|autotest|occ|issue|indie|db_|console).* - [R=404,L] </IfModule> <IfModule mod_mime.c> AddType image/svg+xml svg svgz AddEncoding gzip svgz </IfModule> <IfModule mod_dir.c> DirectoryIndex index.php index.html </IfModule> AddDefaultCharset utf-8 Options -Indexes <IfModule pagespeed_module> ModPagespeed Off </IfModule> ErrorDocument 403 /core/templates/403.php ErrorDocument 404 /core/templates/404.php 

I took inspiration from this topic : htaccess redirect to https://www

Thanks for your support, David.

1
  • 1
    Try changing RewriteCond %{HTTPS} off to RewriteCond %{SERVER_PORT} =80 Commented Jul 24, 2015 at 16:50

2 Answers 2

1

Another approach would be to send the HSTS-Header:

https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security

Then you don´t need any HTTPS-Redirect since this is automatically done by the browser.

Sign up to request clarification or add additional context in comments.

Comments

1

I've got too many redirect error with every founded solution. This has helped me:

RewriteCond %{ENV:HTTPS} !on [NC] RewriteRule ^(.*)$ https://{HTTP_HOST}/$1 [R,L] 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.