阅读 73

nginx--当用户访问到公司网站的时输入了一个错误的URL,可以将用户重定向至官网首页

通过用户发请求的变量 $request _filename 

location / {
#当用户访问错误页面,自动跳转到首页
        if ( !-e  $request_filename ) {                                                                                           
                rewrite ^/(.*)$ https://www.test.com/ ;
                }
        }

-e 判断是否存在, !-e 取反(感叹号和-e必须连着一起写)

  修改虚拟主机配置文件:

server {
        listen 443 ssl;
        listen 80;
        server_name www.test.com;
#指定家目录所在位置
        root /data/testcom/;
#秘钥和证书的具体位置
        ssl_certificate /etc/nginx/ssl/test.com.crt;
        ssl_certificate_key /etc/nginx/ssl/test.com.key;
        ssl_session_cache shared:sslcache:20m;
#ssl会话超时时间 10分钟
        ssl_session_timeout 10m;
#生成独立的日志文件,采用main格式,这个格式是在nginx的主配置文件中定义的
        access_log /var/log/nginx/test.com.log main;
#设置当使用https访问任意目录,自动跳转到https
         location / {
#当用户访问错误页面,自动跳转到首页
        if ( !-e  $request_filename ) {                                                                                           
                rewrite ^/(.*)$ https://www.test.com/ ;
                }
        }
}

测试访问:

#直接访问主页
[20:13:13 root@localhost certs]#curl www.test.com
This is the test.com test page
#访问一个不存在的错误页面,会自动跳转到主页
[20:13:19 root@localhost certs]#curl www.test.com/aaa -Lk
This is the test.com test page

 

原文:https://www.cnblogs.com/alexlv/p/14851229.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐