Help my
Dayver |
|
---|---|
#44514 prostogorod: Може удалить из поста - увидел, остальным не обязательно ..... хотя данные подозрительные, не похожи на те что должны быть у сайта который вижу в онлайне
И так начинаем разбиратся почему в <base href=""> попадает ссылка с портом .... в файле common.php есть 78 строка из которой видим что если $sys['port'] пустой то все норм а если в нем будет цифра то она и попадет в урл ... смотрим выше в 73 строку где идет определение этого параметра, а там условие если $sys['port'] == $def_port то будет все ок .
Но у вас $sys['port'] будет равен 80 (что не верно и при этом он в итоге еще и попадает в урл) ? а $def_port на основе ваши данных очевидно будет равен 443 (что верно поскольку сайт работает по безопасному протоколу).
Разберемся по очереди, сперва то что определилось корректно на основе 54 строки $sys['scheme'] = strpos($_SERVER['SERVER_PROTOCOL'], 'HTTPS') === false && $_SERVER['HTTPS'] != 'on' && $_SERVER['SERVER_PORT'] != 443 && $_SERVER['HTTP_X_FORWARDED_PORT'] !== 443 ? 'http' : 'https'; Разберем это уловие: ЕСЛИ strpos($_SERVER['SERVER_PROTOCOL'], 'HTTPS') === false И $_SERVER['HTTPS'] != 'on' И $_SERVER['SERVER_PORT'] != 443 И $_SERVER['HTTP_X_FORWARDED_PORT'] !== 443 ТОГДА = http ИНАЧЕ https Увидели что у вас хотя бы одно условие $_SERVER['HTTPS'] = 'on' ? а потому движок корректно думает что $sys['scheme'] = https Если $sys['scheme'] = https то поэтому $def_port и получил значение 443.
Ну и самое сладкое на десер. Почему $sys['port'] будет не верно равен 80 ? Ну наверное потому что в 65 строке $sys['port'] = $_SERVER['SERVER_PORT']; а у вас сервер дает [SERVER_PORT] => 80 .... почему? Почему если вы используете https протокол? Вопрос не по адресу. Я то догадываюсь но результата это не меняет - заголовки противоречивые.
Так может движок корректно работать если ему сервер дает противоречивую информацию?!
З.Ы. Расписал достаточно подробно что бы каждый мог при желании вникнуть и понять где ошибка. Как правило у большинства все работает корректно но не так уж и редко последнее время стали встречатся сервера где вот такая каша и у людей начинаются проблемы. А если они есть то сразу нужно смотреть на вот такие параметры которые отдает сервер $_SERVER['SERVER_PROTOCOL'] $_SERVER['HTTPS'] $_SERVER['SERVER_PORT'] $_SERVER['HTTP_X_FORWARDED_PORT'] и то что вы прописали в $cfg['mainurl'] Pavlo Tkachenko aka Dayver
|
|
Bu gönderi Dayver tarafından düzenlendi (2020-02-27 22:08, 5 yıllar önce) |