Назад | Перейти на главную страницу

Ошибка .htaccess с множественной перезаписью

У меня небольшая проблема с моим файлом .htaccess. Недавно я получил сертификат SSL для своего веб-сайта, и https: // работает отлично. Однако я хотел перенаправить любой трафик, использующий http: //, на новый https: //, но, похоже, возник конфликт с моим предыдущим правилом.

Вот мой файл .htaccess:

# 404 Document Location
ErrorDocument 404 /404.html
# Turning Redirects On
RewriteEngine On
# Redirection from HTTP to HTTPS
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
# Redirection for filenames ending in .html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

По сути, первое перенаправление должно перемещать людей с http: // на https: //, второе - это то, что мне раньше приходилось усекать типы файлов с конца домена (например, /cv.html - это просто / cv) .

Может ли кто-нибудь увидеть конфликт и сообщить мне, как его разобрать?

Спасибо!

Попробуй это

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Я думаю, вам, возможно, придется назвать это правило последним, а затем добавить суффикс при следующем посещении, когда есть https.