You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用.htaccess禁止目录直接访问且允许本站点内加载对应文件

解决方案

方法1:兼容Apache 2.2/2.4版本配置

替换pdf目录下的.htaccess内容为如下配置,将your-domain.com替换为你自己的站点域名即可:

AuthType Basic
AuthName "Administrator"
AuthUserFile /home3/nimabida/public_html/power-plant/src/.htpasswd
Require valid-user

SetEnvIf Referer "^https?://(www\.)?your-domain\.com" allowed_access

Order Deny,Allow
Deny from all
Allow from env=allowed_access
Satisfy any

配置说明

  • 原有基础身份验证规则保留,直接输入PDF地址访问的用户仍然需要输入账号密码才可访问
  • SetEnvIf规则会识别请求来源,所有从你自己站点内发起的资源请求会被标记为允许访问,无需验证即可加载
  • Satisfy any指令表示只要满足「身份验证通过」或「来自本站点请求」任意一个条件,就允许访问资源

方法2:Apache 2.4+ 简化写法

如果你的服务器Apache版本在2.4及以上,可以使用更简洁的表达式写法:

AuthType Basic
AuthName "Administrator"
AuthUserFile /home3/nimabida/public_html/power-plant/src/.htpasswd

<RequireAny>
    Require valid-user
    Require expr %{HTTP_REFERER} =~ m#^https?://(www\.)?your-domain\.com#
</RequireAny>

注意事项

  • 极个别用户浏览器会禁用Referer请求头,这种场景下站内访问PDF也会触发验证,属于极小概率特殊情况
  • 该方案依赖Referer头校验,无法完全避免刻意伪造Referer的爬虫爬取,若需要更高安全等级可配合会话Cookie校验规则使用

内容的提问来源于stack exchange,提问作者ebi sadeghi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:36:03