nginx 利用return实现301跳转

第一种:

server
{
    location / {
        rewrite ^/(.*)$ http://www.baidu.com/$1 permanent;
    }
}

第二种:

server
{
    location / {
        return 301 http://www.baidu.com;
    }
}

第三种:

server
{
    location / {
        #default_type 指定显示格式,不可缺少,!-f /home/999 主要用于使条件为真,因为/home下并没有文件夹999
        default_type text/html;
        if (!-f /home/999) {
            return 200 "<html><script>window.location.href=‘http://www.baidu.com‘</script></html>";
        }
    }
}

原文地址:https://www.cnblogs.com/weilaibuxiangshuo/p/11370358.html

时间: 2024-11-04 22:19:37

nginx 利用return实现301跳转的相关文章

使用 Nginx 实现 301 跳转至 https 的根域名

基于 SEO 和安全性的考量,需要进行 301 跳转,以下使用 Nginx 作通用处理 实现结果 需要将以下地址都统一跳转到 https 的根域名 https://chanvinxiao.com http://chanvinxiao.com (不带 www 的 http) http://www.chanvinxiao.com (带 www 的 http) https://www.chanvinxiao.com (带 www 的 https) 301 与 302 的区别 301 是永久重定向,30

Nginx 301跳转设置方法

下面示例将www.example.com跳转到example.com,如果你需要跳转到www域名,相应修改一下下面代码即可.Nginx 301跳转设置其实很简单,首先打开站点.conf配置文件,文件路径一般是:/usr/local/nginx/conf/vhost/,然后下载本地或者使用vi修改都行. 找到server代码段,如下相应修改即可: server { listen 80; server_name www.example.com example.com; if ($host ~* ww

nginx 301跳转https后post请求失效问题解决

app本地请求是http端口,后来升级https强制301跳转,设置如下 server { listen 80; server name www.XXX.com; rewrite ^/(.*)$ https://www.XXX.com/$1 permanent; } 问题描述及原因 强制把http请求跳转到https,结果发现App有部分的功能不能使用,因为App一共设置了4种请求方式,分别是GET,POST,DELETE和OPTIONS方式,设置301跳转后所有的请求方法都变成了GET方式,导

Apache环境利用.htaccess文件设置域名301跳转(不带www跳转到带www)

相信很多站长朋友都遇见过这样的问题,即带www的域名与不带www的域名同时都被收录,但域名权重情况差距很大.这问题主要是由于搜索引擎把这两个域名当做两个不同网站看待,导致一个域名被判定是镜像网站造成的.毫无疑问,不管是带www还是不带www,唯一域名能够给你的网站带来更多的好处.这样无论是用户还是搜索引擎,都会记住你网站的唯一域名,也不会造成搜索引擎的误判而导致惩罚.下面本文就来介绍一下Apache环境下利用.htaccess文件设置301跳转,强制用户或搜索引擎重定向到唯一域名. #301重定

nginx rewrite 301 跳转 post 请求失效问题解决

upstream gaogd{     server 118.8.8.8:80 weight=2; } server {         listen       80;         server_name  www.gaogd.com;         client_max_body_size 20m;         proxy_connect_timeout 600;         proxy_read_timeout 500;         proxy_send_timeout 

php 获取301跳转后真实的url

在php采集中经常遇到有URL 301重定向的情况,如果出现了这样的情况,有可能出现造成未知的结果,因为主机名不一样了.我们的采集中主机名不能用301重定向前的URL,要用重定向之后的URL. 我在以下PHP的例子中介绍下怎么获取301定向后真实的URL,目前我知道有两种方法 1.用get_headers函数:2.用cURL 现介绍利用get_headers() 函数获取http头 php 自带的get_headers()取得服务器响应一个 HTTP 请求所发送的所有标头. 获取301状态肯定没

nginx虚拟主机和域名跳转

nginx介绍 nginx官网 :nginx.orgnginx主要应用web服务.反向代理和负载均衡的作用上nginx分支,淘宝基于nginx开发的Tengine,使用上和nginx一致,服务和配置名一致nginx比起apache在处理静态页面时更有优势,nginx最大区别在于Tenging支持一些定制化模块,在安全限速方面比较突出,支持js.css合并,优化web的高并发的访问需求nginx核心+lua相关组件和模块可以组成一个支持lua的高性能web容器openresty,openresty

nginx利用location匹配url中?号后的参数

nginx利用location匹配url中?号后的参数 http://www.baidu.com/index.php?a=1&b=2location能匹配到url,但是匹配不到url后面的参数,例如:?a=1&b=2 需求:访问地址:https://www.aposoft.com/all-apowersoft/?from=edm 开发要求可不可以只是这个完整地址https://www.aposoft.com/all-apowersoft/?from=edm 跳转到404,然后https:/

nginx利用proxy_cache来缓存文件

nginx利用proxy_cache来缓存文件,有需要的朋友可参考  代码如下 复制代码 user  zhangy users;worker_processes 10;error_log  /var/vlogs/nginx_error.log  crit;pid        /var/vlogs/nginx.pid;#Specifies the value for maximum file descriptors that can be opened by this process.worke