переписать htaccess в https с маршрутом

Я использую следующий .htaccess для моего сайта. Я перенаправляю все URL в index.php, если они не являются файлами, расположенными по ссылке.

Options +FollowSymLinks
IndexIgnore */*
# Turn on the RewriteEngine
RewriteEngine On
#  Rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

Сюда http://website.com/user/user_name/ идет в index.php
а также
http://website.com/css/style.css дает фактический файл CSS (если style.css существует).

Это прекрасно работает, только я хочу, чтобы https: // на URL-адресах, и я не могу заставить его работать. Любая помощь с благодарностью.

Редактировать:

Используя ответ Jeroen, я получил его, работая со следующим .htaccess

Options +FollowSymLinks
IndexIgnore */*
# Turn on the RewriteEngine
RewriteEngine On
#  Rules
RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

2

Решение

Поскольку вы используете ssl CloudFlare — я предполагаю, что Flexible SSL — вам нужно другое решение, хотя решение @ Fox является правильным для «нормального» ssl-соединения.

Для CloudFlare вам нужно что-то вроде:

RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L,QSA]

Также см Статья поддержки CloudFlare.

4

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

Попробуй это

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

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