А как конкретно запускается скрипт по крону? Есть ведь два способа как это сделать:
1. с помощью PHP CLI. Команда типа "/usr/bin/php70 /var/www/website/script.php"
2. с помощью wget или curl. Типа /usr/bin/curl "
website.ru/script.php" 1> /dev/null 2> /dev/null
Второй способ - полная имитация запуска в браузере. Это ответ на вопрос "может ли такая проблема решается иначе". Может.
Первый способ не учитывает тех параметров, которые у вас заданы в конфиге Апача и в файле .htaccess. Поэтому для запуска первым способом вам все их нужно задать явно в скрипте, как верно заметил
Артур Э..