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

如何通过.htaccess允许<frame>加载.htm文件并阻止直接访问?

解决HTML4 Frame加载.htm文件但禁止直接访问的.htaccess配置

你之前的.htaccess规则错误拦截了自身Frame的合法请求,问题出在正则书写、条件逻辑和未覆盖直接访问场景这几点。以下是修正后的配置:

RewriteEngine On
# 拦截非本站来源或直接访问的.htm文件请求
RewriteCond %{HTTP_REFERER} !^https://(www\.)?your-domain\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^$
RewriteRule \.htm$ - [F,L]

配置说明

  • 把your-domain\.com替换为你实际的域名(注意点号需要用反斜杠转义)
  • 第一条规则:匹配非本站域名的请求来源,[NC]表示不区分大小写,[OR]表示满足任意一条条件即执行拦截
  • 第二条规则:匹配Referer为空的场景(也就是用户直接在地址栏输入.htm文件URL的访问)
  • [F]标记返回403 Forbidden状态码,[L]表示停止后续规则处理,避免冲突

原规则问题分析

  1. 两个RewriteCond默认是AND关系,重复的正则会导致合法的本站请求被误判
  2. 正则未写完整域名后缀和结束符,匹配逻辑不严谨
  3. 未覆盖直接访问时Referer为空的核心场景,反而错误拦截了本站Frame的合法加载请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 07:21:24