以下是一个PHP实现的跳转代码,满足您的需求: php代码 - <?php
- // 获取用户代理信息
- $user_agent = $_SERVER['HTTP_USER_AGENT'] ?? '';
- $is_mobile = false;
- $is_baiduspider = false;
- // 检测移动设备
- $mobile_agents = [
- 'Mobile', 'Android', 'Silk/', 'Kindle', 'BlackBerry', 'Opera Mini', 'Opera Mobi',
- 'iPhone', 'iPad', 'iPod', 'Windows Phone', 'IEMobile', 'webOS', 'Symbian'
- ];
- foreach ($mobile_agents as $device) {
- if (stripos($user_agent, $device) !== false) {
- $is_mobile = true;
- break;
- }
- }
- // 检测百度蜘蛛
- if (stripos($user_agent, 'Baiduspider') !== false) {
- $is_baiduspider = true;
- }
- // 处理逻辑
- if ($is_baiduspider) {
- // 百度蜘蛛 - 正常显示页面
- // 这里放置您正常的页面内容
- include('normal_page_content.php');
- } elseif ($is_mobile || !isset($_SERVER['HTTP_USER_AGENT'])) {
- // 移动设备或没有User-Agent(可能是某些特殊访问) - 执行跳转
- header('Location: https://您的目标网址.com', true, 302);
- exit;
- } else {
- // 电脑访问 - 显示404
- header('HTTP/1.0 404 Not Found');
- echo '<!DOCTYPE html>
- <html>
- <head>
- <title>404 Not Found</title>
- </head>
- <body>
- <h1>404 Not Found</h1>
- <p>The requested URL was not found on this server.</p>
- </body>
- </html>';
- exit;
- }
- ?>
复制代码说明 移动端检测:代码会检查常见的移动设备关键词,包括手机和平板。 百度蜘蛛检测:专门检测百度爬虫,确保SEO不受影响。 跳转逻辑: 百度蜘蛛:正常显示页面内容 移动设备或没有User-Agent:302跳转到目标网址 电脑访问:返回404状态码和页面 注意事项: 将代码中的https://您的目标网址.com替换为您实际的跳转目标 对于百度蜘蛛的正常内容,您需要准备normal_page_content.php文件 302跳转有利于SEO,表示临时重定向 替代方案(纯JavaScript版本)
如果您需要纯前端解决方案: - <script>
- (function() {
- // 检测移动设备
- function isMobile() {
- return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
- }
-
- // 检测百度蜘蛛
- function isBaiduSpider() {
- return /Baiduspider/i.test(navigator.userAgent);
- }
-
- // 执行逻辑
- if (!isBaiduSpider() && (isMobile() || !navigator.userAgent)) {
- window.location.href = "https://您的目标网址.com";
- }
- })();
- </script>
- <noscript>
- <!-- 为无JavaScript环境提供备用内容 -->
- <meta http-equiv="refresh" content="0;url=https://您的目标网址.com">
- </noscript>
复制代码
|