rewrite ^/([A-D])([a-zA-Z0-9]{10})/?$ /index.php?a=$1&b=$2 last;

解决方案 »

  1.   


    是在location 里匹配,匹配到了做转发的下面这个报错了,启动不了
    location ^/([A-D])([a-zA-Z0-9]{10})/?$ {
    proxy_pass http://127.0.0.1:88/;
    proxy_redirect off;
    proxy_set_header Host localhost2;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Referer $http_referer;
    proxy_set_header Cookie $http_cookie;
    proxy_connect_timeout 60;
    proxy_read_timeout 600;
    proxy_send_timeout 600;
    }
      

  2.   

    location ~ ^/([A-D])([a-zA-Z0-9]{10})/?$加个~就是正则匹配了
      

  3.   


    还是报错,启动不了正在启动 nginx:nginx: [emerg] pcre_compile() failed: missing ) in "^/([A-D])([a-zA-Z0-9]" 
      

  4.   


    正在启动 nginx:nginx: [emerg] pcre_compile() failed: missing ) in "^/([A-D])([a-zA-Z0-9]" 
      

  5.   

    missing ) in "^/([A-D])([a-zA-Z0-9]" 
    截断在大括号上了,估计是和后面的代码段大括号混淆,需要转义?或者把{10}直接换成+也可以
    我没弄过这个...你看看有什么需要特殊处理的符号
      

  6.   

    location ^/([A-D])([a-zA-Z0-9]+)/?$ {}
    我在我这边的nginx上能启动了
      

  7.   


    你的对的,是我location下面的代码写错了最后改成这样的了 "~/[A-D][a-zA-Z0-9]{10}$"