Forums / National / Russian / Тех. поддержка / Редирект на HTTPS

циклическая ссылка

Macik
#41349 2016-02-01 19:40
  1. параметр `rwr` используется для обработки нестандартных запросов к сайту, точнее сказать для применения дополнительных правил роутинга внутри Cotonti, и активно используется тем самым плагином `urleditor`. 
    Работает это так:
      -  если не одно из стандартных правил, описанных в htaccess не сработало, т.е. мы запросили что-то кроме главного обработчика `index.php` (или иных admin, login и пр.), то наш запрос к сайту  передается в переменную `rwr` и уходит по стандартной схеме в `index.php`
      -  если в системе определен какой-либо роутер (обработчик нестандерных запросов), как например `urleditor` — он разбирает «непонятную» строку (см. функцию `
    cot_apply_rwr()`) и сам формирует входящие параметры так, как если бы это был обычный запрос с параметрами (index.php?e=page&c=articles).
  2. Для проверки того, что этот параметр не влияет на циклическую ссылку — можно закоментиовать указанную строку 
    	RewriteRule ^([^?]+) index.php?rwr=$1 [QSA,NC,NE,L]
        
    и убедится.
  3. Для выяснения проблем с `Rewrite` модулем полезно включить дополнительный лог:
        RewriteLog "logs/rewrite_error.log"
        RewriteLogLevel 5
    	
    Это работает если прописать в конфиг самого сервера (в .htaccess работать не будет). Работает для apache v2.2 (!! для 2.4 изменился синтаксис — смотрите в доках)
    Тогда увидим что-то типа:
    [www/sites/ccke/] applying pattern '(.*)' to uri 'articles'
    [www/sites/ccke/] RewriteCond: input='' pattern='!1' => matched
    [www/sites/ccke/] rewrite 'articles' -> 'https://localhost/ccke/articles'
    [www/sites/ccke/] explicitly forcing redirect with https://localhost/ccke/articles
    [www/sites/ccke/] trying to replace prefix C:/dvp/VertrigoServ/www/sites/ccke/ with /ccke
    [www/sites/ccke/] escaping https://localhost/ccke/articles for redirect
    [www/sites/ccke/] redirect to https://localhost/ccke/articles [REDIRECT/301]

    И далее такое по кругу.
    Проблема в постоянном срабатывании условия 

    RewriteCond: input='' pattern='!1' => matched
    Т.е. ваша запись `RewriteCond %{HTTP:SSL} !1 ` не корректна, переменная `%{HTTP:SSL}` всегда пустая.
     
  4. Булат в своем посте привел рабочий вариант — попробуйте его.
    RewriteCond %{HTTPS} !=on
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
This post was edited by Macik (2016-08-14 10:42, 7 years ago)