2014-11-26 2 views
0

У меня есть веб-сайт, который работал с HTTP в течение 12 лет. Текущая база данных составляет около 6-7 лет с небольшими изменениями, но контент является старым, и все записи новостей имеют изображения внутри его содержимого (это новостной сайт).Перепишите все HTTP на HTTPS

Теперь я хочу найти HTTPS, но у меня есть проблема. Изображения запрашиваются через HTTP, потому что ссылки на изображения хранятся таким образом в базе данных.

Есть ли способ сделать все эти запросы переключаться на https без фактического перехода к базе данных и изменения всех этих ссылок на https?

Текущая версия сайта разработана с использованием Laravel 4.

Я уже добавил это .htaccess.

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 
+2

Вы можете переадресовать их, но браузеры до сих пор жалуются на это, потому что первоначальный запрос будет идти через HTTP , Ваш единственный вариант - изменить жестко привязанные ссылки (если вы можете сделать только ссылки без протокола или домена, это будет плюсом). – Wrikken

+2

As Wrikken сказал. В большинстве случаев ваши изображения не должны содержать 'http:'. '//' работает для текущего протокола, например: // www.domain.com/img/image.jpg или используя корневой путь, например '/ img/image.jpg'. – Devon

+0

спасибо. Это довольно очевидное решение, но id не передумал. Попробуем –

ответ

0

Вы почти у цели. Быстрый поиск с «переадресовать» вместо «переписывание» возвращает это: How to redirect all HTTP requests to HTTPS

В итоге:

RewriteEngine On 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
Смежные вопросы