nginx重定向,返回301状态码

域名更换,使用nginx重定向,返回301状态码


把www.domain.com和domain.com合并,并把之前的域名也一并合并. 有两种实现方法,第一种方法是判断nginx核心变量host(老版本是http_host):
server {
server_name www.domain.com domain.com ;
if ($host != 'www.domain.com' ) {
rewrite ^/(.*)$ http://www.domain.com/$1 permanent;
}
...
}


第二种方法:
server {
server_name domain.com;
rewrite ^/(.*) http://www.domain.com/$1 permanent;
}


我用的是第一种方法,这两种方法中, permanent是关键,详细说明见nginx重定向规则说明。


last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302


不过另外查了一下资料

百度这个2B青年对301的支持不稳定,有点搓

GG这个文艺青年转换很快
permanent – 返回永久重定向的HTTP状态301


好了,现在可以检查结果,这里可以看返回的HTTP头信息


http://seo.chinaz.com/?host=domain.com

Nginx是一个开源的高性能Web服务器,它可以用来处理静态内容和动态请求。在使用Nginx的过程中,有时我们需要将客户端请求的URL重定向到其他的URL,实现URL的跳转。以下是Nginx重定向到其他URL的方法: 使用rewrite指令进行URL重定向nginx.conf配置文件中,可以使用rewrite指令对URL进行重写或重定向,例如: location /oldurl { rewrite ^/oldurl(.*) https://newurl.com/newurl permanent; } 上述代码表示,当客户端访问/oldurl时,将它重定向到https://newurl.com/newurl。其中,permanent表示使用301重定向方式。 使用return指令进行URL重定向 除了rewrite指令,Nginx还提供了return指令,也可以用来实现URL的重定向。例如: location /oldurl { return 301 https://newurl.com/newurl; } 上述代码表示,当客户端访问/oldurl时,将它重定向到https://newurl.com/newurl。其中,301表示使用永久重定向方式。 使用proxy_pass指令进行URL重定向 proxy_pass指令是Nginx中用来进行反向代理的指令,但是它也可以用来实现URL的重定向。例如: location /oldurl { proxy_pass https://newurl.com/newurl; } 上述代码表示,当客户端访问/oldurl时,将它重定向到https://newurl.com/newurl。但是,这种方式的重定向需要后端服务器返回301或302状态码才能生效。 综上所述,Nginx提供了多种方式实现URL重定向,开发者可以根据具体需求自行选择。而且Nginx的性能和功能十分强大,深受广大开发者的青睐。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值