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

如何禁止用户直接访问JS/CSS文件并跳转404?现有Rewrite规则失效

解决JS/CSS文件直接访问拦截问题

你的现有规则阻止页面正常加载,核心问题有两个:

  1. 仅匹配HTTP协议的Referer,HTTPS环境下正常加载资源的请求会被误拦截
  2. 使用[F]标记返回403禁止状态,不符合你需要的404页面需求

修正后的规则

RewriteEngine On
# 匹配非本站(HTTP/HTTPS)来源的请求,覆盖直接访问的空Referer场景
RewriteCond %{HTTP_REFERER} !^https?://(.+\.)?mysite\.com/ [NC]
# 拦截JS/CSS文件并返回404状态码
RewriteRule \.(js|css)$ - [R=404,L]

规则说明

  • https?:// 同时兼容HTTP和HTTPS协议,确保本站页面加载资源时的合法请求不会被拦截
  • [R=404] 直接返回404状态码,服务器会自动调用你配置的自定义404页面
  • [L] 标记表示这是最后执行的规则,避免后续Rewrite规则干扰

自定义404页面版本

如果你的服务器有指定的自定义404页面(比如/404.html),可以用以下规则直接重定向:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https?://(.+\.)?mysite\.com/ [NC]
RewriteRule \.(js|css)$ /404.html [R=404,L]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 21:52:57