За последние 24 часа нас посетили 34084 программиста и 1319 роботов. Сейчас ищут 1026 программистов ...

Как убрать SSL на одной странице?

Тема в разделе "PHP для новичков", создана пользователем AlexProg, 25 сен 2018.

  1. AlexProg

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

    С нами с:
    13 май 2014
    Сообщения:
    320
    Симпатии:
    7
    Всем добра!

    Сайт типо MVC, есть роутинг вида:

    PHP:
    1. 'cabinet' => 'account/cabinet',
    где 'cabinet' - ссылка на сайте
    'account/cabinet' - имя контроллера и экшена

    .htaccess
    PHP:
    1. RewriteEngine on
    2.  
    3. RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    4. RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
    5.  
    6. Options +FollowSymlinks
    7.  
    8. RewriteCond %{REQUEST_FILENAME} !-d
    9. #RewriteCond %{REQUEST_FILENAME} !-f
    10.  
    11. RewriteCond %{REQUEST_URI} !^/assets/
    12. RewriteRule .* index.php [L,QSA]
    13.  
    14.  
    15.  
    16.  
    17. <ifModule mod_expires.c>
    18. ExpiresActive On
    19. ExpiresDefault "access plus 5 seconds"
    20. ExpiresByType text/html "access plus 10 seconds"
    21. ExpiresByType image/jpg "access 1 month"
    22. ExpiresByType image/gif "access 1 month"
    23. ExpiresByType image/jpeg "access 1 month"
    24. ExpiresByType image/png "access 1 month"
    25. ExpiresByType text/css "access 1 month"
    26. ExpiresByType application/x-javascript "access plus 1 month"
    27. ExpiresByType text/javascript "access plus 1 month"
    28. ExpiresByType application/javascript "access plus 2 week"
    29. ExpiresByType image/x-icon "access plus 2 month"
    30. ExpiresByType image/icon "access plus 2 month"
    31. ExpiresByType application/x-ico "access plus 2 month"
    32. ExpiresByType application/ico "access plus 2 month"
    33. </ifModule>
    34.  
    35.  
    36. php_value default_charset utf-8
    37. AddType 'text/html; charset=utf-8' .html .htm .shtml

    Буду благодарен за любую подсказку.
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Давай начнем с самого начала - что ты задумал? И зачем там убирать SSL?
     
    AlexProg нравится это.
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.859
    Симпатии:
    656
    В файле нет «блокировки» по протоколу и т.п. Прикрепляйте сайт и к HTTP-хосту, прописав в его конфиге вилку: пропускать запрос к исключенной странице, либо делать, например, редирект на HTTPS-хост (с наследованием путей).
    --- Добавлено ---
    К «кабинету» обычно добавляют «SSL», а не убирают ;)
     
    AlexProg нравится это.
  4. AlexProg

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

    С нами с:
    13 май 2014
    Сообщения:
    320
    Симпатии:
    7
    Просто нужна одна страница без SSL, везде будет.
    --- Добавлено ---
    Да, я знаю. Кабинет и весь сайт будет с сертификатом. Только одну страницу без SSL сделать и все.
     
  5. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @webog http https это два разных порта два разных сайта два разных конфига. Создай конфиг для http и дай доступ только к одному файлу
     
    AlexProg нравится это.
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Блин, объясни, какую проблему хочешь решить. А не то, каким ты видишь решение. Есть вероятность, что то, что ты делаешь - неправильно, и есть более верный путь.
     
    AlexProg нравится это.
  7. marsik

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

    С нами с:
    30 дек 2008
    Сообщения:
    246
    Симпатии:
    17
    Если нет редиректов на https, то поставь ссылку с http, типа: <a href="http://ssssssssss">ssssssssss</a> в чем проблема-то?
     
  8. AlexProg

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

    С нами с:
    13 май 2014
    Сообщения:
    320
    Симпатии:
    7
    Показать сайт во фрейме. Беда в том, что если сайт с SSL, то сайт без SSL во фрейме не покажется. Нужно быть на одной волне или все без или все с SSL.
    --- Добавлено ---
    PHP:
    1.     function __construct()
    2.     {
    3.  
    4.         #$query_str = parse_url($url);
    5.        #$protocol = $query_str['scheme'];
    6.  
    7.         $actual_link = (isset($_SERVER['HTTPS']) ? "https" : "http");
    8.         if ($actual_link == 'https') {
    9.             $routesPath = ROOT . '/config/routes.php';
    10.         }elseif($actual_link == 'http'){
    11.             echo "string";
    12.             $routesPath = ROOT . 'config/routes_http.php';
    13.         }else{
    14.             $routesPath = array();
    15.         }
    16.  
    17.         #$routesPath = ROOT . '/config/routes.php';
    18.        $this->routes = include($routesPath);
    19.  
    20.     }

    Пробовал вот так, но не то. ссылка все равно с сертификатом открывается.
     
  9. lastdays

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

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    nospiou, тебе дал нормальный ответ и подсказал решение.
    Создавай отдельный конфиг, перенаправляй с https на http
     
    AlexProg нравится это.
  10. AlexProg

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

    С нами с:
    13 май 2014
    Сообщения:
    320
    Симпатии:
    7
    Можно подробнее? Не пойму... Какой конфиг?
     
  11. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @webog nginx например
    80 - http
    Код (Text):
    1. server {
    2.     listen              80;
    3.     server_name         www.example.com;
    4.     ...
    5. }
    443 - https
    Код (Text):
    1. server {
    2.     listen              443 ssl;
    3.     server_name         www.example.com;
    4.     ...
    5. }
    80 + 443 - http + https
    Код (Text):
    1. server {
    2.     listen              80;
    3.     listen              443 ssl;
    4.     server_name         www.example.com;
    5.     ...
    6. }
     
    AlexProg нравится это.
  12. AlexProg

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

    С нами с:
    13 май 2014
    Сообщения:
    320
    Симпатии:
    7
    @nospiou , но это же для всего сайта!?
    Плохой с меня IT-шник. Но Nginx это круто!
     
  13. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Для сервера нет никаких сайтов есть ip и порт ну и доменное имя разные порты это уже разные сайты
    Судя по этой строчке у тебя в nginx или apache что то вроде
    Код (Text):
    1. server {
    2.     listen 80 default_server;
    3.     listen [::]:80 default_server;
    4.     server_name example.com www.example.com;
    5.     return 301 https://$server_name$request_uri;
    6. }
    Убери редирект и будет доступ по http и по https а дальше уже .htaccess настроишь
    Но лучше как в 3 варианте что бы все остальное не настраивать
     
    AlexProg нравится это.
  14. marsik

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

    С нами с:
    30 дек 2008
    Сообщения:
    246
    Симпатии:
    17
    В nginx нет .htaccess, все настраивается в этом же файле
     
    AlexProg нравится это.
  15. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @marsik В большинстве случаев когда ставят apache сверху еще стоит nginx как проксирующий сервер
    nginx -> apache -> .htaccess
     
    AlexProg нравится это.
  16. marsik

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

    С нами с:
    30 дек 2008
    Сообщения:
    246
    Симпатии:
    17
    я и забыл про него))), избавился от него пару лет назад
     
  17. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @marsik надеюсь от apache избавился?:) просто в первом посте .htaccess
     
  18. marsik

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

    С нами с:
    30 дек 2008
    Сообщения:
    246
    Симпатии:
    17
    У него про nginx вроде тоже ничего не сказано, одни догадки)) Про Nginx только что он крут, но это все знают)))
     
  19. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Nginx - упорото-статический сервер, не могущий в динамический контент. Вот крутость и кончилась. Знай инструментарий, а не "он крут, все знают". Его ставят перед апачами не потому, что "он крут", а потому, что он, простой как три рубля, и заточенный под статику, которая составляет основную массу запросов. При этом запросы на динамический контент он проксирует апачам/чему-нибудь еще, получает от них уже статичный ответ и отдает его клиенту. Апач, как сервер, в разы круче и функциональнее, к слову. Но, при этом, и работа его стоит дороже. И дергать его на отдачу статики - преступление. Вот и разделяют между ними обязанности. Каждый делает то, в чем он крут, а не просто "один крут, другой не крут".
     
    AlexProg нравится это.
  20. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @Fell-x27 nginx + php-fpm или swoole или еще куча всего... Сервер и должен быть сервером. Apache без модуля php это тоже статика.
     
  21. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Апач без модуля пхп работать может в другом режиме, и исполнять многопоточность не хуже (ладно, чуть хуже), чем Nginx. Другое дело, что он и окромя пхп много чего умеет веселого.
     
  22. marsik

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

    С нами с:
    30 дек 2008
    Сообщения:
    246
    Симпатии:
    17
    Можно вот здесь поподробнеее. А то вдруг я сдурканул c переходом на nginx + php-fpm
     
  23. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Если для тебя вопрос выбора технологии заключается в том, кто что где сказал, то лучше оставить как есть, все норм.
     
  24. AlexProg

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

    С нами с:
    13 май 2014
    Сообщения:
    320
    Симпатии:
    7
    Надо - сделаем и Nginx.
    Спасибо всем!