我正在尝试弄清楚如何在我的网站上放置一个链接,以允许访问者下载文件,例如https://www.website.com/file.zip
但该文件实际上位于https://255.255.255.255/actual_file.zip
。
我还没有尝试任何事情,因为我无论如何都无法从假设、理论或实践上弄清楚。
是的,我确实使用过谷歌。
答案1
有很多方法可以做到这一点,取决于您的服务器支持什么。
鉴于您在问题中列出了 php 和 html 作为标签,我将把这个答案限制在这些标签上,但我认为 apache 在其后面运行,也可以使用。
基本上,您要做的是创建一个重定向到新 URL 的脚本或页面。
最简单、最优雅的选择是使用 php,所以我将从这个开始。
例如,您可以创建一个新页面,名为,download.php
并在其中转发到 URL。我可以编写一个带有安全检查等的完整选择器脚本,但这超出了这个问题的范围,在 Stack Overflow 上也更合适。
<?php
$file = $_GET['file'];
header("Location: https://255.255.255.255/".$file);
?>
请注意,编写新标题要求脚本之前没有输出,否则任何输出都会将标准标题写入页面,并且标题命令将不起作用。
您现在可以创建如下超链接:
<a href="https://www.example.com/download.php?file=actual_file.zip">Download</a>
HTML 要求每个文件都有一个页面,并需要标记来重定向到下载。这意味着 URL 会发生变化,但可以通过这些页面来控制文件。
最后,可以使用 htaccess 来屏蔽 download.php 文件。
此外,htaccess 也可以在没有 php 脚本的情况下完成所有操作,但同样,不确定您是否正在使用 Apache。