За последние 24 часа нас посетили 36714 программистов и 7739 роботов. Сейчас ищут 1706 программистов ...

Переход с Http на Https

Тема в разделе "PHP для новичков", создана пользователем Econaft, 7 сен 2022.

  1. Econaft

    Econaft Активный пользователь

    С нами с:
    28 июн 2014
    Сообщения:
    89
    Симпатии:
    1
    Установил SSL сертификат.
    Сайт работает на Https. Весь сайт на голом Html, т.е. просто Html-файлы.

    Разумеется вставил в .htaccess вот этот код:

    Код (Text):
    1. RewriteEngine On
    2. RewriteCond %{ENV:HTTPS} !on
    3. RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Но есть огромная проблема.

    У меня внутри Html-файлов ссылки такого вида:

    Код (Text):
    1. <link href=http://sait.ru/123.css rel=stylesheet type=text/css>
    И такого:

    Код (Text):
    1. <script src="http://sait.ru/jquery.js"></script>
    И много ещё всего подобного в разных файлах, про которые я даже уже не помню, что я там мастерил за годы существования сайта...

    Разумеется подобные ссылки не обрабатываются больше. Сайт наполовину криво работает.

    Html-файлов очень много. Это не реально всё менять. Это не КМС какая-то.

    Есть ли возможность как-то обрабатывать такие ссылки как Https при этом не меняя их?

    На стороне хостинга может быть, джаваскриптом, средствами php... любые советы.
     
    #1 Econaft, 7 сен 2022
    Последнее редактирование: 7 сен 2022
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    элементарно в notepad++
    ctrl+f
    закладка : найти в файлах
    - найти http://
    - заменить на https://
    - найти в файлах - указываете где они, если нужно - фильтр на расширение, например *.html

    Кнопка - Заменить в файлах..

    все...
     
  3. Econaft

    Econaft Активный пользователь

    С нами с:
    28 июн 2014
    Сообщения:
    89
    Симпатии:
    1
    А без замены никак?
    На стороне хостинга например.
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    учитывая, что у вас не CMS а просто статичные html - конечно нет
     
  5. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    Можно с помощью jquery попробовать заменить атрибут тега. При загрузке страницы нужно вызвать функцию, которая получает все ссылки страницы, проверяет значение атрибута href и если он содержит строку http , сконструировать другой адрес. Но это только идея.
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.223
    Адрес:
    там-сям
    Полагаю "на хостинге" вам доступен шелл с нормальной unix командной строкой? Иначе зачем вам вообще хостинг (грустная шутка)
    Найти и заменить все подстроки рекурсивно.
    Код (Text):
    1.  
    2. find . -type f -exec sed -i '' -e "s~http://sait\.ru/~https://sait\.ru/~g" {} +
    --- Добавлено ---
    такая строка должна работать как на Linux, так и локально на MacOS.
    вот полезная ссылка в закладки: https://stackoverflow.com/q/19456518/272885
     
    Econaft нравится это.
  7. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    656
    На файлы тек. хоста можно ссылаться при помощи абс. путей в ссылках: /path

    Также есть вариант //site.ru/path, но он редко используется по понятным причинам, хотя иногда полезен.
     
    don.bidon нравится это.
  8. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Мало ли консоль недоступна, есть вариант - программа text replacer, качаешь исходники, заменяешь http на https и заливаешь обратно.
     
    Econaft нравится это.
  9. Econaft

    Econaft Активный пользователь

    С нами с:
    28 июн 2014
    Сообщения:
    89
    Симпатии:
    1
    Почему редко?
    Я как раз думал так переделывать.
     
  10. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    656
    Это для норм. работы зеркал одновременно на разных протоколах и для ссылок на внешние ресурсы с «текущим» протоколом. Судя по сабжу, вам хорошо подойдет вариант с абс. путем.
    --- Добавлено ---
    P.S. В осн. контенте можно оставить //... (или даже http(s)://...), если боитесь тупиц, тырящих контент. Контент стырят, но хоть бэки могут остаться.

    P.P.S. Конечно, лучше перенести сайт на динамический каркас. Так удобнее всего управлять разными типами ссылок (ссылками на статик обвес и прочими сквозными, ссылками основной внутр. перелинковки и даже ссылками внутри осн. контента).
     
    #10 miketomlin, 8 сен 2022
    Последнее редактирование: 8 сен 2022
    Econaft нравится это.