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

PHP 7.2:查询字符串匹配重定向的未定义常量及大小写敏感问题求助

问题解决方案

1. 修复“Undefined constant”警告

你的代码里Test未加引号,PHP会将其视为未定义的常量,这就是警告的根源。只需将其包裹为字符串即可:

<?php 
if(isset($_GET['Keyword'])){
    // 给Test添加单引号,转为字符串匹配
    if($_GET['Keyword'] == 'Test'){
        header('Location: http://www.anotherURL.com');
        exit();
    }
}
?>

2. 取消匹配的大小写限制

如果需要忽略大小写(比如test、TEST、Test都能触发重定向),可以用以下两种方法:

方法一:统一转成小写(或大写)后比较

<?php 
if(isset($_GET['Keyword'])){
    // 将两边字符串都转为小写,消除大小写差异
    if(strtolower($_GET['Keyword']) == strtolower('Test')){
        header('Location: http://www.anotherURL.com');
        exit();
    }
}
?>

方法二:使用strcasecmp()函数

该函数专门用于忽略大小写的字符串比较,返回0表示两个字符串相等:

<?php 
if(isset($_GET['Keyword'])){
    if(strcasecmp($_GET['Keyword'], 'Test') === 0){
        header('Location: http://www.anotherURL.com');
        exit();
    }
}
?>

注意:调用header()跳转前,确保页面没有任何输出(包括空格、HTML标签等),否则会导致跳转失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:41:09