开发者社区> 问答> 正文

Nginx下301怎么重定向域名

已解决

301重定向使页面实现自动跳转,需要跳转到别的域名

展开
收起
我的中国 2016-02-01 16:40:24 4623 0
2 条回答
写回答
取消 提交回答
  • R&S网络资深工程师 ,阿里云论坛官方版主,阿里云云计算ACP,春考教学网站长,IT技术晋级之路专辑作者
    采纳回答

    第一种情况:访问aaaaaaa站定向到bbbbbbbbbbb站
    server {
    server_naaaaaaame www.aaaaaaa.com ;
    rewrite ^(.*) http://www.bbbbbbbbbbb.com$1 permaaaaaaanent;
    }

    第二种情况:不是访问aaaaaaa站的全部重定向到指定页面

    server {
    server_naaaaaaame www.aaaaaaa.com;
    if ($host != ‘aaaaaaa.com' )
    { rewrite ^/(.*)$ http://www.bbbbbbbbbbb.com/$1 permaaaaaaanent; }}

    如果写在第一个server段 使用IP访问时也将被重定向

    第三种带WWW或者不带WWW之间的跳转

    server
    {
    server_naaaaaaame c.net
    rewrite ^/(.*)$ http://www.c.net/$1 permaaaaaaanent;
    }

    下面是nginx的规则跳转:

    首先一、得在你的域名管理里面定义 c.com和www.c.com指向你的主机ip地址,我们可以使用nslookup命令测试:直接输入 nslookup c.com和nslookup www.c.com 都有指向ip的A记录即可。

    第二、我们才能在nginx里面配置rewrite规则。打开 nginx.conf文件
    找到你的server配置段:【以下是我的server配置段】

    server
    {
    listen 80;
    server_name www.c.com c.com;
    if ($host != ‘www.c.com' ) {
    rewrite ^/(.*)$ http://www.c.com/$1 permanent;
    }

    这样就是用户直接访问c.com直接跳转的www.c.com。即让不带www的域名跳转到带www的域名。

    三、我们可以是多个二级域名、三级域名都可以随意跳转、或者让它们都跳转到blog.c.com这个域名
    同意添加如下语句即可:

    server
    {
    listen 80;
    server_name blog.c.com wgkgood.gicp.net;
    if ($host = ‘wgkgood.gicp.net' ) {
    rewrite ^/(.*)$ http://blog.c.com/$1 permanent;
    }

    2019-07-17 18:27:42
    赞同 展开评论 打赏
  • 膜拜下 同时学习下

    2019-07-17 18:27:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
看域名行业如何变身“八爪鱼” 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载