链接HTML中的根目录文件夹

3

我正在我的网站上托管视频。 在我的代码中,我像这样链接到视频的路径。

file: "video/some_random_video.mp4"

这个方法很好,因为我的.html页面和视频文件夹在同一个目录下。 将视频放在这里允许任何人查看.html源代码并找到我存储所有视频的路径,从而允许他们下载所有视频。

是否可能将视频放回几个目录,可能是我的根目录,以便我可以链接到它们,但其他人无法访问它们?

这种方法不起作用。

file: "./video/some_random_video.mp4"

我正在尝试寻找任何一种方式来链接到我的服务器上的视频,但又禁止用户查看源代码并找到它们的位置。

欢迎提供任何意见。谢谢!


我尝试使用文件:“../video/Paintball Madness.mp4”,但仍然无法正常工作。也许是JWplayer的问题。我已经在另一个位置成功地使用相同的视频了。 - Biotic
检查页面源代码,看看头部是否有“base”标签。这将影响所有链接,使它们可能无法按照您的预期工作。 - Stefan
我的头部没有基础标签。 - Biotic
4个回答

2
要返回到您的目录,您需要使用“cd ..”命令。
file: "../../video/some_random_video.mp4"

您可以尝试使用.htaccess来防止公共访问您的视频文件夹。注意,两个点而不是一个点。


你确定你返回正确数量的文件夹了吗?而且确认你的文件名是正确的吗? - sǝɯɐſ
是的,我已确认文件名正确。我只是尝试返回一个目录,然后访问该目录中的视频文件夹。文件:"../video/some_random_video.mp4" - Biotic
也许你最好尝试使用 .htaccess 方法?(请参见我的编辑) - sǝɯɐſ
我在您提供的页面底部读到了这句话:“本文介绍的技术仅能防止以文件列表形式访问文件夹,但无法防止访问单个文件。如果访问者知道确切的URL或该文件已嵌入或链接在您的网页中,则仍然可以访问该文件。” - Biotic
啊...抱歉...试试这个 - sǝɯɐſ

0

试试这个:

"/video/some_random_video.mp4"

假设video文件夹位于根目录下。

0

你可以像Kevin Boucher建议的那样使用根相对URL。

另一种选择是在页面头部使用HTML基础标签:

<base href='http://yoursite.com/'>

然后你可以使用像这样的链接:

<a href='video/some_random_video.mp4'>Video</a>

换句话说,所有链接都像是在你的基本href前面添加了前缀。
另外,需要注意的是,CSS文件中的链接始终相对于CSS文件的位置 - 无论是否使用基本标签。

感谢您的输入 Stefan。这可能有效,但仍会允许某些人通过直接访问它们来下载该目录中的文件。例如,我仍然可以导航到 http://mysite.com/video/some_random_video.mp4 并下载视频。 - Biotic

0

使用.htaccess会很有用,有许多解决方案可供选择。

尝试通过检查请求的引用者来防止热链接

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example.com [NC]
RewriteRule \.(mp4|flv)$ - [F]

请看这里这里

或者通过PHP文件传递文件并将它们发送到输出,而直接访问文件/文件夹被拒绝:

<FilesMatch "\.(mp4|flv)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

我尝试了你建议的第一种方法。RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https?://(www\.)?mysite.net/videos/.*$ [NC] RewriteRule \.(mp4|flv)$ - [F] 这样做阻止了我直接访问URL,所以它起作用了!但是它也阻止了我的视频播放器访问该文件。 - Biotic
@Biotic:也许这种方法可以帮助你,这是我第二个计划的解释。 - Hashem Qolami

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接