apache+php要求上面所有的网站,只要是来路是 DDD.com的都返回404

要求在 Apache 服务器上,通过 PHP 脚本来实现只有当请求来自于 “DDD.com” 时,才返回 HTTP 404 Not Found 状态码。你可以通过以下步骤来实现这个需求:

  1. 修改 Apache 配置文件
    在 Apache 的配置文件中添加以下内容,使用 SetEnvIf 指令匹配请求的来源,如果是 “DDD.com”,则设置一个环境变量。
# 在 Apache 配置中设置环境变量
SetEnvIf Referer "^http://(www\.)?DDD\.com" is_DDD_request
  1. 编写 PHP 脚本
    创建一个 PHP 脚本 (比如 custom404.php),用于根据环境变量判断是否为 “DDD.com” 的请求,如果是,则返回 404 状态码,否则返回正常内容。
<?php

if (isset($_SERVER['is_DDD_request'])) {
    header('HTTP/1.0 404 Not Found');
    exit;
}

// 正常返回内容
echo "<h1>Hello, this is a normal page!</h1>";
  1. 更新 .htaccess 文件
    将请求重定向到 PHP 脚本,根据来路判断是否返回 404。
RewriteEngine On

# 如果 Referrer 是 DDD.com 则重定向到 custom404.php
RewriteCond %{ENV:is_DDD_request} true
RewriteRule ^ - [L]

RewriteRule .* custom404.php [L]

请注意,以上代码是一个基本的示例,实际情况可能需要根据具体需求对代码进行调整。确保在生产环境中测试和验证这些配置,以确保其正常运行并符合预期。


已发布

分类

作者:

标签

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注