Ошибка ERR_TOO_MANY_REDIRECTS после изменений .htaccess для принудительного использования https

У меня проблема с изменениями в .htaccess.

Страница не появляется, и у меня есть это сообщение: ERR_TOO_MANY_REDIRECTS

Вот модификации, которые я добавил в .htaccess:

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

Это установка OwnCloud, полный .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

Я черпал вдохновение из этой темы: htaccess перенаправить на https: // www

Спасибо за вашу поддержку,
Дэвид.

0

Решение

Другой подход заключается в отправке HSTS-заголовка:

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

Тогда вам не нужно никакого HTTPS-перенаправления, так как это автоматически делается браузером.

1

Другие решения

У меня слишком много ошибок перенаправления с каждым найденным решением.
Это помогло мне:

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

По вопросам рекламы [email protected]