zoukankan      html  css  js  c++  java
  • nginx rewrite目录对换

    /123/xxx----->xxx?id=123

    [root@web01 default]# pwd
    /app/www/default
    [root@web01 default]# tree 123
    123
    └── sss
        └── index.html
    
    1 directory, 1 file
    [root@web01 default]# cat 123/sss/index.html 
    cheshi
    [root@web01 default]# cat /app/server/nginx/conf/rewrite/default.conf 
    #rewrite ^/index.html /index.php last;
    #if (!-e $request_filename) rewrite ^/(.*)$ index.php last;
    #if (!-e $request_filename) {rewrite ^/(.*)$ /index.php last;}
    #if (!-e $request_filename) {return 404;}
    #if ($http_user_agent ~ Firefox) {rewrite ^(.*)?$ /nginx-Firefox/$1 break;}
    #if ($http_user_agent ~ MSIE) {rewrite ^(.*)$ /nginx-MSIE/$1 break;}
    rewrite ^/(d+)/(.+)/ /$2?id=$1 last;
    #在这里我犯了个要命的错误,这里匹配的是真实的URI,而我却认为是区配的URL,所以一直没能实现!!!
    #后来,我发现,还有一个大的“我不知道!!!(要真正明白什么是目录对换)
    [root@web01 default]# ls
    123  sss
    http://192.168.1.24/sss/?id=123
    #根下的sss才是真正的请求的目录!!!!
    [root@web01 default]# echo "根下的sss才是请求的真正的目录" > /app/www/default/sss/index.html
    [root@web01 default]# curl http://192.168.1.24/sss/?id=123
    根下的sss才是请求的真正的目录

    最后得出只留网站根目录下的 sss即/app/www/default/sss/index.html

    [root@web01 default]# tree /app/www/default/
    /app/www/default/
    └── sss
        └── index.html
    
    1 directory, 1 file
    [root@web01 default]# cat /app/server/nginx/conf/rewrite/default.conf 
    #rewrite ^/index.html /index.php last;
    #if (!-e $request_filename) rewrite ^/(.*)$ index.php last;
    #if (!-e $request_filename) {rewrite ^/(.*)$ /index.php last;}
    #if (!-e $request_filename) {return 404;}
    #if ($http_user_agent ~ Firefox) {rewrite ^(.*)?$ /nginx-Firefox/$1 break;}
    #if ($http_user_agent ~ MSIE) {rewrite ^(.*)$ /nginx-MSIE/$1 break;}
    rewrite ^/(d+)/(.+)/ /$2?id=$1 last;
    #location ~ ^/(cron|templates)/ {deny all;break;}
    #location ~ ^/data {deny all;}
    #location ^~ /html/m.js {access_log off;root /app/www;expires 5;break;}
    #rewrite ^/ck-([0-9]+)-([0-9]+)-([0-9]+).html$ /ck/$1/$2/$3.html last;
    #rewrite ^/([0-9a-z]+)espressos/(.*)$ /web01/$1/$2 permanent;
    #rewrite ^/([0-9a-z]+)espressos/(.*)$ /web01/$1/$2 last;
    #location /i/ {alias /data/w3/bass/;}
    [root@web01 default]# curl http://192.168.1.24/sss/?id=123
    根下的sss才是请求的真正的目录

     如果/app/www/sss/index.html 改为别的名子如k.html请求会失败(这个规则到底是有什么意义????)

  • 相关阅读:
    二分图之最小边覆盖(poj3020)
    第一章:计算机网络概述
    X Window 简单的新手教程
    SharePoint Permission Analyzer 权限分析仪
    《源创新》:破坏性创新换了个说法,有陷入锤子钉子模式的嫌疑,书中的案例可以看一看。
    《金融可以颠覆历史》:隐藏在历史事件背后的金融制度发展历程
    转发:三伏天话“三伏贴”
    《浪潮之巅》(第2版):精彩的IT商战史
    《史玉柱自述》:管理者要谦虚,好的经营策略是试出来的
    《生活中的经济学》:主张让市场去解决生活中的问题,离中国的现实有点远
  • 原文地址:https://www.cnblogs.com/bass6/p/5729686.html
Copyright © 2011-2022 走看看