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

如何配置.htaccess仅在非checkAuth.php发起请求时重定向?

解决方案

要实现「所有请求重定向到checkAuth.php,但排除它通过header跳转发起的请求」,核心是给跳转请求标记唯一标识,让.htaccess能识别并放行。

1. 修改checkAuth.php的跳转逻辑

在调用header("Location: ...")之前,添加一个自定义HTTP头,标记这是认证后的跳转请求:

// 先添加自定义标识头
header("X-Auth-Redirect: 1");
// 再执行跳转
header("Location: /你要跳转的目标页面.php");
exit;

2. 配置.htaccess规则

在同目录的.htaccess中写入以下规则:

RewriteEngine On

# 排除直接访问checkAuth.php的请求
RewriteCond %{REQUEST_URI} !^/checkAuth\.php$
# 排除带有认证跳转标识头的请求
RewriteCond %{HTTP:X-Auth-Redirect} !^1$
# 将其他所有请求转发到checkAuth.php
RewriteRule ^(.*)$ /checkAuth.php [L]

为什么之前的Referer方案不可用?

%{HTTP_REFERER}依赖浏览器主动发送,很多隐私插件、浏览器设置会屏蔽Referer字段,导致规则失效。用自定义HTTP头的方式更稳定,不会被常规隐私策略影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:22:39