https и вставка http (iframe или ...)

#1 7 ноября 2017 в 11:21
Вообщем перевёл сайт на https, спустя пару месяцев вроде всё нормализовалось с поисковиками. Но сейчас появилась проблема, не могу вставить веб-камеру на сайт. Изначально сайт транслирует камеру с http, если делаю вставку через iframe, камера не отображается. Подскажите, что можно сделать?
#2 7 ноября 2017 в 12:17
А как камеру вставляете?
#3 7 ноября 2017 в 12:19

Подскажите, что можно сделать?

Vladimir
получить ссылку для камеры в https
#4 7 ноября 2017 в 12:36


А как камеру вставляете?

Lora

<iframe src="http://сайт.ру" style="width: 100%; height: 550px; border-width: initial; border-style: none;">
</iframe>

Скрипт закинул на другой свой домен, где нет https, от туда и беру iframe
#5 7 ноября 2017 в 12:40


Подскажите, что можно сделать?

Vladimir
получить ссылку для камеры в https

kirkr

Спасибо кэп scratch
Но думаю там без вариантов…
#6 7 ноября 2017 в 12:52
Попробуйте через php. Типа
file.php
  1. <?php
  2. $camera = file_get_contents('http://сайт.ру/');
  3. echo $camera;
<iframe src="file.php"></iframe>
#7 7 ноября 2017 в 13:01


Попробуйте через php. Типа

  1.  
  2.  

Lora

Не силён в php, в конце кажется нужен какой-то закрывающий код?
#8 7 ноября 2017 в 13:03
Создайте файл file.php
Поместите туда код
  1. $camera = file_get_contents('http://сайт.ру/');
  2. echo $camera;
А в фрейме выводите
  1. <iframe src="file.php"></iframe>
#9 7 ноября 2017 в 13:25


Создайте файл file.php
Поместите туда код

  1. $camera = file_get_contents('http://сайт.ру/');
  2. echo $camera;
А в фрейме выводите

Lora

Не получается, даже file.php на сайте с https не отображает веб-камеру.
file.php на сайте с http, работает.
#10 7 ноября 2017 в 13:36
Попробуте в file.php прописать это
  1. <?php
  2. if (isset($_GET['url'])) {
  3. $url = $_GET['url'];
  4. $ch = curl_init();
  5. $timeout = 5;
  6. curl_setopt($ch, CURLOPT_URL, $url);
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  8. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  9. $data = curl_exec($ch);
  10. curl_close($ch);
  11. echo $data;
  12. }
А на странице
<iframe src="/file.php?url=http://site.ru/"></iframe>
#11 7 ноября 2017 в 13:38

Не получается, даже file.php на сайте с https не отображает веб-камеру.

Vladimir
Этот файл ничего и не должен отображать.Отображает фрейм.
#12 9 ноября 2017 в 10:42
После долгой переписки с пользователем Lora, пришли к выводу, что этот iframe не возможно отобразить на сайте с https. Отсюда новая задача, сделать страницу с веб-камерой на http. И чтоб переадресация шла с https на http, ну и по аналогии с www на без www, чтоб не дублировалось в поисковиках. Ранее мне задачу с переадресацией помог решить провайдер, дав следующий код в .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ %1/$1 [L,R=301]
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* %{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Сейчас, задача, весь сайт на https, кроме 1-2 страниц на http. Провайдер не может решить, формулировка "Стандартные исключения, для CMS Вашего сайта не работают". И ещё не работает "Видимо из-за того что страницы формируются динамически".
Уважаемые знатоки, как решить данный вопрос? 😊
#13 11 ноября 2017 в 06:53
Я нашёл решение здесь

stackoverflow.com/questions/26426893/htaccess-redirect-to-https-except-a-few-urls

Немного изменил его, добавив четвёртой строкой
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https

Ура, страница начала отображаться по http, но редиректа с https на http всё равно нет, похоже третий блок не срабатывает,

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ %1/$1 [L,R=301]
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https

# force https:// for all except some selected URLs
RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !/places/111-test\.html [NC]
RewriteRule ^ %{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# force http:// for selected URLs
RewriteCond %{HTTPS} on
RewriteCond %{THE_REQUEST} /places/111-test\.html [NC]
RewriteRule ^ %{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Подскажите пожалуйста с редиректом! Ну или может есть другое решение?!
#14 11 ноября 2017 в 21:18
Ура, сделано! Здесь же расписал, как сделать исключение для несколько URL.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ %1/$1 [L,R=301]
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https

# force https:// for all except some selected URLs
#RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !/places/111-test\.html [NC]
RewriteCond %{THE_REQUEST} !/places/222-test\.html [NC]
RewriteRule ^ %{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# force http:// for selected URLs
#RewriteCond %{HTTPS} on
RewriteCond %{HTTP:X-Forwarded-Protocol} !=http
RewriteCond %{THE_REQUEST} /places/111-test\.html [NC]
RewriteRule ^ %{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP:X-Forwarded-Protocol} !=http
RewriteCond %{THE_REQUEST} /places/222-test\.html [NC]
RewriteRule ^ %{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.