全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2160|回复: 24

求个简单的php代码

[复制链接]
发表于 2020-12-11 23:11:04 | 显示全部楼层 |阅读模式
需求: 自建了2个网站  a.x.com/1.zip   ,b.x.com/1.zip  。内容都是一样的,现在想通过访问x.com/1.zip  随机重定向到上面的2台服务器 以达到分流负载的目的。
希望大佬赏个脸 给写个php代码。感谢
发表于 2020-12-11 23:21:48 | 显示全部楼层
  1. <?php
  2. $url = mt_rand(0, 1) === 0 ? 'http://a.x.com/1.zip' : 'http://b.x.com/1.zip';
  3. header('Location: ' . $url, true, 303);
复制代码

点评

可以,代码很规范,流弊  发表于 2020-12-12 10:29
感谢  发表于 2020-12-11 23:46
发表于 2020-12-11 23:27:38 | 显示全部楼层
  1. $url = mt_rand(0, 1) === 0 ? 'http://a.x.com'.$_SERVER【'REQUEST_URI'】 : 'http://b.x.com'.$_SERVER【'REQUEST_URI'】;
  2. header('Location: ' . $url, true, 303);
复制代码

点评

感谢  发表于 2020-12-11 23:59
发表于 2020-12-11 23:27:57 | 显示全部楼层
这事应该nginx做
发表于 2020-12-11 23:31:41 | 显示全部楼层
啥不用nginx呢
发表于 2020-12-11 23:32:49 | 显示全部楼层
NG均衡负载不用用PHP跑啊
发表于 2020-12-11 23:37:17 | 显示全部楼层
本帖最后由 wjj 于 2020-12-11 23:40 编辑

nginx版
  1.    upstream x_zip{
  2.         server a.x.com/1.zip weight=1; #weight是权重的意思,权重越大分配概率越大。
  3.         server b.x.com/1.zip weight=1;
  4.     }
复制代码

  1.     server {
  2.         listen       80;
  3.         server_name  x.com;

  4.         location /1.zip {
  5.                 proxy_set_header         Host $host;
  6.                 proxy_set_header         REMOTE-HOST $remote_addr;
  7.                 proxy_set_header         X-Real-IP $remote_addr;
  8.                 proxy_set_header         X-Forwarded-For $proxy_add_x_forwarded_for;
  9.                 proxy_pass               http://x_zip;
  10.         }
  11.     }
复制代码
发表于 2020-12-12 02:52:59 | 显示全部楼层
发表于 2020-12-12 03:06:18 | 显示全部楼层
mjj藏龙卧虎啊
发表于 2020-12-12 03:12:28 | 显示全部楼层

伪随机数会死得很惨。。。种子是当前时间
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-30 17:58 , Processed in 0.071187 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表