主要链接是:yourname.com/movie/film.mkv
用户下载链接:yourname.com/2012/Esx123Sxzz96/film/
如何在没有用户看到主链接并且它出现在下载管理器中的情况下将链接 2 切换到链接 1?
首先,.htaccess
如果您想保护您的站点不让用户直接访问数据,请使用 a 来防止直接访问 /movie/ 文件夹。
然后,通过 php 传递文件,header
首先发送适当的文件,有关更多信息,请参阅此线程。
如果您的电影是大文件,请考虑发送文件的其他方法,例如x-sendfile
我自己从未使用过的方法,请参阅此答案以获取更多信息。
编辑:如果您没有用户身份验证,统计跟踪,下载限制等......并且只是想重写您可以使用路径.htaccess
的rewrite
路径(尽管您提供的第二种路径,似乎就像您需要逻辑来提取所需的路径)。如果您不关心用户在单击链接后知道“秘密路径”,您可以简单地使用header('Location: yourname.com/movie/film.mkv");
- 这将允许用户为您的文件设置书签,而不必yourname.com/2012/Esx123Sxzz96/film/
再次通过您的路径。
重新编辑显然,真正的问题是如何创建一个完整的系统,可以在其中存储媒体,然后通过“不同”路径访问,隐藏源。
我要做的是为您要存储的每个媒体建立一个列表或数据库。将项目添加到列表时,请为其指定唯一 ID。为了简单起见,让我们从 0 开始,并为每个文件递增 1。您可以将来自媒体的更多信息存储在列表/数据库中,例如每部电影的长度、文件大小等...
然后,当您想向用户列出这些文件时,您只需hash
输入 id,您可以使用类似这样的内容,这将创建一个字符串,例如U6dc
... 现在可以使用:构建链接<a href="mysite/files/$hashedValue">Link for $filename</a>
。
拦截对mysite/files/
using a的调用.htaccess
并将其重定向以说明files.php
哪个负责将参数U6dc
转换为列表中的 ID。获得此 ID 后,很容易找到驱动器上的媒体并将其发送给用户,可能使用x-sendfile
,由您决定。
使用 .htaccess,您可以声明自己的条件。