Трябва да покажа връзка за изтегляне на моя сайт, свързваща го с файл, хостван в друг домейн. Използвам следния подход.
1) Вземете действителния URL адрес от базата данни
$fileDownloadLink = "http://whatever.com/thefile.docx";
2) Кодирайте URL адреса и го предайте като параметър на download.php
$shortUrl = base64_encode($fileDownloadLink);
<a href="/bg<?php echo "http://www.mydomain.net/download.php?session=".$shortUrl;?>" target="_blank">Download Please</a>
3) Download.php декодира подадения низ и опитайте да прочетете файла.
<?php
$str = $_GET["session"];
$path = base64_decode($str);
$mm_type="application/octet-stream";
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: " . $mm_type);
header("Content-Length: " .(string)(filesize($path)) );
header('Content-Disposition: attachment; filename="'.basename($path).'"');
header("Content-Transfer-Encoding: binary\n");
readfile($path);
exit();
?>
Но получавам тази грешка от download.php
Неприемливо!
Подходящо представяне на искания ресурс не може да бъде намерено на този сървър. Тази грешка е генерирана от Mod_Security.
Моля помогнете.