Nginx项目配置rewirte将网址精简

项目网址:http://116.85.23.X/course/1/2/course_3.html

转化后的网址:http://116.85.23.x/course-1-2-3.html

是不是很精简啊?

打开服务器:

建立测试项目地址/opt/app/code/course/1/2/course_3.html

Nginx项目配置

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /opt/app/code;
        #index  index.html index.htm;
        rewrite ^/course-(\d+)-(\d+)-(\d+)\.html$ /course/$1/$2/course_$3.html break;
    }

    
    error_page   500 502 503 504 404 /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    if ($http_user_agent ~* Chrome) {
           rewrite ^/nginx http://baidu.com redirect;
        }
        #如果网址后面nginx开头,还是头信息是谷歌浏览器,跳转到baidu
    if (!-f $request_filename) {
           rewrite ^/(.*)$ https://www.baidu.com/s?wd=$1 redirect;
        }
        #如果网址后面输入的模块不存在,则跳转到百度
        #if (!-f $request_filename) 是判断取反
}

    Rewirte规则优先级
    执行server快的rewrite指令
    执行location匹配
    执行选定的location中的rewrite

完成!

你可能感兴趣的:(软件工程)