隐藏主下载url


hide the main download url

我有一个问题,我不知道是否有一个解决方案。

我的问题是我有一个这样的下载链接:

http://remotewebsite.com/file.zip

文件是托管在另一个网站不是我的。我希望用户在不知道原始url的情况下下载文件比如当用户打开我的链接

http://mywebsite.com/file.zip

它开始下载文件

可以把它想象成承载文件的网站和用户之间的隧道。例如,用户从远程网站请求的每个数据包都会经过我,然后发送给用户。

我不知道是否还有其他简单的方法。

我很抱歉,如果这听起来很愚蠢,但我真的希望它能工作。

使用CURLfile_get_contents获取文件的内容,并将其与相应的头部详细信息一起输出到浏览器。

header('Content-Description: File Transfer');
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename=file.zip');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
ob_clean();
flush();
echo file_get_contents("http://remotewebsite.com/file.zip");

您可以使用URL重写机制将所有对file.zip的请求路由到PHP脚本,该脚本将从远程服务器下载真实文件并将其提供给您的客户端。

如果您指定使用的平台(Apache/IIS),我可以提供如何实现的详细示例。

对于IIS 7或更高版本,在web.config文件中使用:

<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="file.zip" patternSyntax="ExactMatch" stopProcessing="true">
                <match url="file.zip" />
                <action type="Rewrite" url="download_zip.php" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
</configuration>

"download_zip.php"中使用PHP代码"nauphal"