【问题标题】:htaccess issue after setup restriction to folders设置文件夹限制后的htaccess问题
【发布时间】:2014-04-04 23:07:38
【问题描述】:

我有一个要求,我需要拒绝访问文件夹 (localhost\uploads\video)。我通过在本地主机的 htacess 中应用以下规则得到了这个:

RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost/ [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC] 
RewriteRule \.(|avi|mp4)$ - [F,NC]

场景 1 - 如果我尝试通过在浏览器中直接输入地址来访问资源(主要是 .avi 文件),它工作正常,这是消息: 禁止您无权访问此服务器上的 /video/23/videoname.html。此外,在尝试使用 ErrorDocument 处理请求时遇到 500 Internal Server Error 错误。没问题

场景 2 - 应用了 tis 规则后,如果我尝试点击主页中的任何链接,从而将我带到视频,我也会收到与场景 1 相同的消息,这不是我想要的。我想当我通过主页访问时(通过点击 avi 链接),这条消息不会出现。

我怎样才能以这种方式完成这项工作?我想阻止直接访问,但如果从主页执行,我想保持它正常工作...

问候 埃利尔

【问题讨论】:

    标签: file .htaccess directory


    【解决方案1】:

    您的正则表达式似乎是 URI 模式匹配的问题。将您的规则更改为:

    RewriteCond %{HTTP_REFERER} !(www\.)?domain\. [NC] 
    RewriteRule \.(avi|mp4)$ - [F,NC]
    

    确保将domain 替换为您的实际域名。

    【讨论】:

    • 您是否也被禁止使用非 avi/mp4 文件?
    • 这是原始网站:www.pererecapedia.com 这是我现在拥有的:RewriteCond %{HTTP_REFERER} !^http://(www\.)?pererecapedia/ [NC ] RewriteCond %{HTTP_REFERER} !^http://(www\.)?pererecapedia.*$ [NC] RewriteRule \.(|avi|mp4)$ - [F,NC] 我想知道我是否能做到这一点...在页面本身存在一个 Flashplayer,它通过 javescript 插入进入页面...问候
    • 这意味着你甚至没有接受我建议的规则。那它怎么工作呢?
    • 嗨,anubhava,我采纳了你的建议,请参阅:RewriteCond %{HTTP_REFERER} !(www\.)?pererecapedia\。 [NC] RewriteRule \.(avi|mp4)$ - [F,NC] 由于写作限制,我也没有提到那个版本:(
    • 您需要将您的规则替换为 m 建议的规则。如果您遵守规则,您将不断出错。
    猜你喜欢
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 2014-02-24
    • 2020-06-12
    • 2021-12-16
    • 2011-11-23
    • 2018-06-16
    • 1970-01-01
    相关资源
    最近更新 更多