当前位置:论坛首页 > Linux面板 > 求助

Nginx重定向应如何设置

发表在 Linux面板2018-3-31 20:48 [复制链接] 5 4287

我现在遇到一个情况,A域名与B域名完全不一样,但是要把A域名重定向到B域名去,在Nginx里应如何设置,正则应该怎么写

例如:
域名A  ga.abcdefg.com/abcd/8888
重定向到 域名B   rp.hmiops.net/htnmds/dvf/8888


两个域名结构完全不一样,只有参数8888是能对应上。
这样的情况,在nginx里应如何设置重定向。
使用道具 举报 只看该作者 回复
发表于 2018-3-31 21:47:17 | 显示全部楼层
是仅仅这个域名跳转啊?还是整站跳转啊,仅这个域名的话好说,在你ga.abcdefg.com/abcd/8888这个网站的配置文件里的name属性下面添加这段代码
  1. rewrite  ^/(.*)$  http://rp.hmiops.net/htnmds/dvf/8888/$1 permanent;
复制代码
使用道具 举报 回复 支持 反对
发表于 2018-4-1 00:16:49 | 显示全部楼层
本帖最后由 lyrical 于 2018-4-1 00:19 编辑
mingxue 发表于 2018-3-31 21:47
是仅仅这个域名跳转啊?还是整站跳转啊,仅这个域名的话好说,在你ga.abcdefg.com/abcd/8888这个网站的配置 ...

不仅仅是这一个域名跳转,8888是一个可变的参数,这个数字是不确定的,它可能是8888,也可能是6666,也可能是1234。就是原域名abcd目录下所有参数的网页都重定向到新的域名,参数要一一对应。。而且只是abcd这个目录的url地址重定向,其他目录的url地址保持不变。应该怎么做呢
使用道具 举报 回复 支持 反对
发表于 2018-4-1 10:25:39 | 显示全部楼层
  1. server {
  2.     listen 80;
  3.     server_name ga.abcdefg.com/abcd/8888;
  4.     rewrite ^/(.*)$ rp.hmiops.net/htnmds/dvf/8888/$1 permanent;
  5. }
复制代码



或者下面的(nginx官方认可下面这种return的方式的)
  1. server {
  2.     listen       80;
  3.     server_name  ga.abcdefg.com/abcd/8888;
  4.     return       301 rp.hmiops.net/htnmds/dvf/8888$request_uri;
  5. }

  6. server {
  7.     listen       80;
  8.     server_name  rp.hmiops.net/htnmds/dvf/8888;
  9.     #此处以下为转向目标服务器其它配置信息
  10. }
复制代码



如果是https加密的,把80换成443端口

http://nginx.org/en/docs/http/converting_rewrite_rules.html
使用道具 举报 回复 支持 反对
发表于 2018-4-1 11:38:11 | 显示全部楼层
aRNoLD 发表于 2018-4-1 10:25
或者下面的(nginx官方认可下面这种return的方式的)

8888是一个可变的任意参数,和另一个域名里的参数相对应,正则该怎么写呀。。~
使用道具 举报 回复 支持 反对
发表于 2019-5-15 23:19:27 | 显示全部楼层
我现在的域名是makerchina.net/club/portal.php如何带参数跳转到makerchina.net/portal.php
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

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