PHP+Nginx 域名防红教程 兼容虚拟主机及原有站点

PHP+Nginx域名防红教程 兼容虚拟主机及原有站点

一、教程简介

网站运营过程中,域名在微信、QQ内置浏览器中容易出现访问提示异常、页面拦截等问题,也就是行业常说的域名防红需求。为改善域名访问稳定性、提升用户浏览体验,本文整理两套成熟稳定的域名防红适配方案,分别为 PHP 文件引导方案、Nginx 服务层优化方案。

20260903142323668-wx

本教程完美兼容根目录已有 index.php 的站点,不会覆盖原有网站程序、不影响业务运行,同时支持虚拟主机、独立服务器双环境,新手可直接部署。

二、运行环境支持

  • PHP方案:支持 PHP7.2、PHP7.4,虚拟主机、服务器通用
  • Nginx方案:仅支持独立服务器、宝塔面板环境
  • 无需数据库,轻量化部署,配置简单
  • 支持 HTTP/HTTPS 域名站点

三、PHP域名防红方案(虚拟主机首选、通通兼容)

方案优势

无需修改服务器配置、不改动原有 index.php 程序,通用性较高,是虚拟主机实现域名防红的最优方案。通过识别微信、QQ浏览器环境,智能展示引导页面,其他浏览器正常访问跳转。

部署教程

网站根目录新建 guide.php,放入以下代码,修改对应域名为你的域名即可使用。

<?php
$target_url = "https://www.example.com";
$ua = $_SERVER['HTTP_USER_AGENT'];

$is_wx = strpos($ua, 'MicroMessenger') !== false;
$is_qq = strpos($ua, 'QQ/') !== false || strpos($ua, 'QQBrowser') !== false;

if ($is_wx || $is_qq) {
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>请使用系统浏览器访问</title>
<style>
*{margin:0;padding:0;box-sizing:border-box}
body{background:#fff;font-size:16px;padding:30px 20px;color:#333;text-align:center}
.tip{margin-top:40px}
.copy-box{margin:24px auto;padding:12px;background:#f4f4f4;border-radius:8px}
.btn{padding:12px 24px;background:#0066ff;color:#fff;border:none;border-radius:8px;font-size:16px;margin-top:20px}
</style>
</head>
<body>
<div class="tip">
<h3>当前浏览器暂不支持直接访问</h3>
<p style="margin-top:16px">请复制链接,使用手机自带浏览器打开访问</p>
<div class="copy-box" id="link"><?php echo $target_url;?></div>
<button class="btn" onclick="copyText()">一键复制链接</button>
<p style="margin-top:24px;color:#666">也可长按链接手动复制</p>
</div>
<script>
function copyText(){
    let txt = document.getElementById("link").innerText;
    navigator.clipboard.writeText(txt).then(()=>alert("复制成功!打开手机浏览器粘贴访问即可"));
}
</script>
</body>
</html>
<?php
exit;
}else{
    header("Location: {$target_url}");
    exit;
}
?>

独立服务器配套Nginx规则(虚拟主机不用加)

服务器用户可添加以下规则,实现根域名自动防红跳转:

if ($http_user_agent ~* "(MicroMessenger|QQ/|QQBrowser)") {
    rewrite ^ /guide.php last;
}

虚拟主机使用详细说明

虚拟主机无法修改 Nginx 配置,不能实现自动识别跳转,但可以正常使用PHP防红文件

使用方法:直接访问 你的域名/guide.php 即可实现微信、QQ环境域名防红引导功能。

四、Nginx高性能域名防红方案(服务器专用)

独立服务器用户可使用纯Nginx防红方案,无需PHP文件,直接在服务器层拦截浏览器环境,性能更强、响应更快,实现域名防红优化。

if ($http_user_agent ~* "(MicroMessenger|QQ/|QQBrowser)") {
    return 200 '
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>请使用系统浏览器访问</title>
<style>
*{margin:0;padding:0;box-sizing:border-box}
body{background:#fff;font-size:16px;padding:30px 20px;color:#333;text-align:center}
.tip{margin-top:40px}
.copy-box{margin:24px auto;padding:12px;background:#f4f4f4;border-radius:8px}
.btn{padding:12px 24px;background:#0066ff;color:#fff;border:none;border-radius:8px;font-size:16px;margin-top:20px}
</style>
</head>
<body>
<div class="tip">
<h3>当前浏览器暂不支持直接访问</h3>
<p style="margin-top:16px">请复制链接使用手机系统浏览器打开</p>
<div class="copy-box" id="link">https://www.example.com</div>
<button class="btn" onclick="copyText()">一键复制链接</button>
<p style="margin-top:24px;color:#666">长按链接可手动复制</p>
</div>
<script>
function copyText(){
    let txt = document.getElementById("link").innerText;
    navigator.clipboard.writeText(txt).then(()=>alert("复制成功!打开浏览器粘贴访问"));
}
</script>
</body>
</html>
';
}

五、域名替换点位(重点必看)

1、虚拟主机用户:仅需替换 1 处域名

guide.php 内:$target_url = "https://www.example.com";

2、独立服务器用户:一共替换 2 处域名

① guide.php 目标网址

② Nginx代码内展示链接地址

两处域名保持一致,推荐使用HTTPS协议。

六、代码授权说明

代码长期免费使用,不存在使用期限,无授权费用,无加密,可自行部署、修改。

注意:代码仅做浏览器识别与访问引导优化。微信、QQ风控策略会动态更新,方案效果会随平台策略变化;域名、服务器/虚拟主机等相关资源需自行承担费用,网站内容务必遵守法律法规以及平台规范。

七、代码运行说明

本套域名防红代码实测稳定,在 PHP7.2/7.4、Nginx 环境均可正常运行,不影响原有网站程序。可以有效改善域名在微信、QQ内置浏览器的访问异常问题,优化用户访问体验。

八、常见问题排查

  • PHP报错:切换 PHP7.2、PHP7.4 版本
  • 复制失效:老旧浏览器不支持剪贴板,可长按复制
  • 不生效:清理缓存、重载Nginx配置
  • 虚拟主机无法自动跳转:属于正常限制,只能访问guide.php入口

九、免责声明

1、本文技术代码仅为网站运维技术学习与常规访问体验优化,用于改善域名在不同浏览器的适配问题。

2、用户部署前需保证域名及站点内容合规,严格遵守各大平台规则与国家网络法规。

3、网络风控机制为动态更新状态,本方案为常规适配优化,不保证适配所有场景。

4、所有部署行为均为用户自主操作,使用产生的一切问题由使用者自行承担。

5、操作前请务必备份网站源码和数据库,以及Nginx规则,以免操作失误回滚操作。

文章广告横幅
网络违法犯罪举报平台 广告
© 版权声明
THE END
喜欢就支持一下吧
点赞81 分享
评论 共1条

请登录后发表评论

    暂无评论内容