Редиректю с помощью header. В бд много url введенных пользователями. просто: ukr.net и https://sql.ru И надо, чтоб всегда перекидывалось на внешний сайт. А header, если нету в начале url http:// или http:// пытается редиректить на внутреннюю страницу сайта. Проверять, есть ли в урле протокол геморно. И добавлять протокол. если его нету в урле тоже. Как быть? Может есть умный способ?
https://www.php.net/manual/ru/function.str-replace.php PHP: $url = str_replace(array('http://', 'https://'), '', $url); echo 'http://'.$url;
@torsar, есть ещё функция PHP: parse_url - Manual. Достаточно проверить наличие элемента "scheme" и в случае его отсутствия - добавить или попросить пользователя указать полный URL. Желательно это делать перед добавлением в базу, раз уж "надо, чтоб всегда". И для существующих уже записей прогнать скрипт проверки.
Умный способ - проверять и добавлять. А геморно это когда сэкономил 1-2 строки и неделю разгребаешь последствия.