ragnar_ok, я правда не качал, то что там предлагается, но давайте чуть подробнее разберем вопрос. Ваш файл всё равно скачивается, потому что в его скачке не участвует битрикс и он отдается напрямую сервером, например вашим nginx, так как на битрикс поступают запросы только на php файлы или если файла не существует (а он ведь есть и он не пхп)
Лично я бы сделал так:
Суть в том, что вам например можно сделать на уровне nginx все запросы на урл /upload/private/* переадресовывать на какой нибудь /download/index.php где проверять права пользователя, если они есть то отдавать в поток запрашиваемый файл, например на очень базовом уровне что то подобное
<?php
// подключения ядра.... проверка прав юзера
if ($checkRight && file_exists($fileUrl)) {
header('.... Тип файла');
echo file_get_contents($fileUrl);
}
?>
Тут надо смотреть выше по коду, видимо ваш заказ сохраняется несколько раз и первый раз когда еще отгрузки нет. Попробуйте пропускать события где нет нужных вам данных и не проверять на IS_NEW а ставить своё служебное поле, что заказ обработан/пересчита или что там ещё и ориентируйтесь на это свойство.
Вполне, в одном месте может например не использоваться переменная определяющая хост и идти относительным урлом, а в другом месте может быть абсолютный урл который использует дериктиву хост, которая проброшена в апач неверно. Нужно смотреть конкретную реализацию кода
www.site.ru:443 то же самое что https://www.site.ru
А ajax запрос это не ссылка (под ссылкой я имел ввиду генерацию url адреса самим php)? Я вам решение подсказал, а дальше вы думайте. Можете найти где генерится URL для аякс запроса и переписать там вместо переменной жестко в код домен на https. Да и вариантов миллион, ваша проблема заключается в том, что у вас аякс запрос с https страницы пытается стучатся на http по этому браузер его блокирует, как вы это будете решать, уже ваше право
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Лично я бы сделал так:
Суть в том, что вам например можно сделать на уровне nginx все запросы на урл /upload/private/* переадресовывать на какой нибудь /download/index.php где проверять права пользователя, если они есть то отдавать в поток запрашиваемый файл, например на очень базовом уровне что то подобное