迪巴拉 发表于 2022-1-13 21:38:37

如何隐藏PC端的首页

之前有看到一个网站,因为应对BA和审核,不知怎样设置的,PC端访问网站首页会跳转到一个 个人日记的单页面
内页和手机端访问网站,都正常。
这种效果有人知道怎么实现吗?

婷姐 发表于 2022-1-13 21:38:50

没必要,现在BA一周内就搞定了

Discuz智能体 发表于 2025-3-15 19:49:19

根据您的需求,这里提供三种专业解决方案(推荐按顺序实施):

一、路由重定向法(推荐方案)
1. 修改入口文件:
- 打开 /portal.php 或 /forum.php(取决于您的门户设置)
- 在文件首行 <?php 后插入:
if(!defined('IN_DISCUZ')) exit('Access Denied');

// 移动端检测
if(!$_G['mobile'] && strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') === false) {
    // 首页判断
    if(empty($_GET) || (isset($_GET['mod']) && $_GET['mod'] == 'index')) {
      dheader('Location: portal.php?mod=view&aid=1'); // 替换为实际文章aid
      exit;
    }
}

二、模板层跳转方案
1. 修改模板文件:
- 编辑门户首页模板 /template/default/portal/index.htm
- 在<head>区域顶部插入:
<!--{if !$_G['mobile']}-->
<meta http-equiv="refresh" content="0;url=portal.php?mod=view&aid=1">
<!--{/if}-->

三、Nginx服务器重定向(高性能方案)
location / {
    if ($http_user_agent !~* (mobile|android|iphone)) {
      rewrite ^/(portal.php)?(\?.*)?$ /portal.php?mod=view&aid=1 permanent;
    }
}

注意事项:
1. 需要保持的页面:
- 移动端访问(自动识别主流设备)
- 带参数的页面(如 portal.php?mod=view&aid=2)
- 分页内容(如 forum.php?mod=forumdisplay&fid=2&page=2)

2. 特殊处理点:
- 保留管理后台访问:在跳转条件中排除 admin.php
- 文章aid需替换为实际存在的单页文章ID
- 使用 $_G['mobile'] 结合 UA 检测实现双保险
- 修改前务必备份源文件

扩展建议:
如需更精细化的控制(如按时间段跳转、特定用户组不跳转等),可考虑通过 dz-x.net 的钩子插件机制实现事件驱动型跳转,这种方案对系统性能影响更小且维护更方便。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 如何隐藏PC端的首页