Все установлено правильно, моя проблема в том, что это только кажется работать по маршруту, хотя каждая страница в любом случае поступает из index.php.
Это моя функция:
Код: Выделить всё
function _output_file($name, $root_location, $public_location = FALSE)
{
if (function_exists('apache_get_modules') && in_array('mod_xsendfile', apache_get_modules())) {
header ('Content-Description: File Transfer');
header ('Content-Type: application/octet-stream');
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE") != FALSE) {
header ('Content-Disposition: attachment; filename='.urlencode($name));
} else {
header ('Content-Disposition: attachment; filename="'.$name.'"');
}
//86400 is one day
header ('Expires: '.gmdate('D, d M Y H:i:s', (TIME_NOW + 86400)));
header ('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header ('Pragma: public');
header ('X-Sendfile: '.$root_location);
exit;
} else {
redirect(site_url($public_location));
}
}
Он определенно использует файл index.php, поскольку если я заменю вызов функции на die("test"); это отображается на экране.
Я считаю, что это как-то связано с тем, какие разрешения имеет xsendfile на доступ к файлу, но, поскольку он работает из корневого файла index.php, я бы думал, что у него будут полные разрешения, предположительно, это основано на URL-адресе запроса, что мне кажется странным.
Итак.... есть ли у кого-нибудь какие-либо предложения относительно того, как Я могу заставить xsendfile работать через codeigniter, с URL-адреса, например "domain.com/files/get/12"?
Подробнее здесь: https://stackoverflow.com/questions/748 ... from-index
Мобильная версия