PHP菜鸟博客_共同学习分享PHP技术心得【PHP爱好者】
nginx+php实现带参数通过a域名访问跳转到b域名同时带参数
2023-11-16 菜鸟站长


场景



比如访问http://01.wlphp.com?id=1&from=2 能够跳转到http://01.weixin.com?id=1&from=2



第一步配置nginx



server {

    listen 80;

    server_name yourdomain.com;



    root /path/to/your/website;



    # 将404或者403错误重定向到404.php页面,并保留原始状态码

    error_page 404 =200 /404.php;



    error_page 403 =200 /404.php;



    # 其他配置项...

    

    location / {

        # 其他配置项...

    }

}








第二步编写404.php文件,放在站点根目录






<?php
// 获取当前请求的参数
$originalParams = $_SERVER['QUERY_STRING'];

$domainName = $_SERVER["HTTP_HOST"];
// 旧域名
$oldDomain = 'wlphp.com';
// 新的目标域名
$newDomain = 'weixin.com';

$redirectUrl = str_replace($oldDomain, $newDomain, $domainName);

$finalUrl = "http://" . $redirectUrl . $_SERVER['REQUEST_URI'];

// 执行页面重定向,使用下面的 JavaScript 跳转,因为 Nginx 返回给客户端 200 状态码
//header('Location: ' . $finalUrl);
//die;

?>
<script>
window.location.href="<?php echo $finalUrl; ?>";
</script>
















server {
listen 80;
server_name yourdomain.com;
root /path/to/your/website;
# 将404错误重定向到404.php页面,并保留原始状态码
error_page 404 =200 /404.php;
# 其他配置项...
location / {
# 其他配置项...
}
}





server {
listen 80;
server_name yourdomain.com;
root /path/to/your/website;
# 将404错误重定向到404.php页面,并保留原始状态码
error_page 404 =200 /404.php;
# 其他配置项...
location / {
# 其他配置项...
}
}

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容