大家好,由于网站服务器环境要改成Nginx的了,但是Nginx Rewrite配置没接触过,不知道怎么改,求大侠帮忙,万分感谢!!!
这是Apache的Rewrite规则,请问怎么改成Nginx Rewrite呢?RewriteEngine On
RewriteBase /RewriteRule ^shop-(.+)-(.+)-(.+)-(.+).html shop\.php\?uid=$1&action=$2&id=$3&m=$4
RewriteRule ^shop-(.+)-(.+)-(.+).html(.+) shop\.php\?uid=$1&action=$2&m=$3$4
RewriteRule ^shop-(.+)-(.+)-(.+).html shop\.php\?uid=$1&action=$2&m=$3RewriteRule ^search-(.+)-(.+)-(.+).html index\.php\?m=$2&s=$3&key=$1
RewriteRule ^(.+)-(.+)-(.+).html(.+) index\.php\?m=$1&s=$2&id=$3$4
RewriteRule ^(.+)-(.+)-(.+).html index\.php\?m=$1&s=$2&id=$3
RewriteRule ^(.+)-(.+).html(.+) index\.php\?m=$1&s=$2$3
RewriteRule ^(.+)-(.+).html index\.php\?m=$1&s=$2
RewriteRule ^(.+).html(.+) index\.php\?m=$1&$2
RewriteRule ^(\w+).html$ index\.php\?m=$1RewriteRule ^_(.+)-(.+)-(.+)/(.+) index\.php\?m=$1&s=$2&id=$3$4
RewriteRule ^_(.+)-(.+)-(.+)/ index\.php\?m=$1&s=$2&id=$3
RewriteRule ^_(.+)-(.+)/(.+) index\.php\?m=$1&s=$2$3
RewriteRule ^_(.+)-(.+)/ index\.php\?m=$1&s=$2
RewriteRule ^_(.+)/(.+) index\.php\?m=$1&$2
RewriteRule ^_(.+)/ index\.php\?m=$1
ErrorDocument 404 404\.php
RewriteRule ^templates/(.+)/*.htm$ 404\.php

解决方案 »

  1.   

    为什么要改成Nginx呢
      

  2.   

    # nginx configurationerror_page 404 404\.php;location /shop {
      rewrite ^/shop-(.+)-(.+)-(.+)-(.+).html /shop\.php\?uid=$1&action=$2&id=$3&m=$4;
      rewrite ^/shop-(.+)-(.+)-(.+).html(.+) /shop\.php\?uid=$1&action=$2&m=$3$4;
      rewrite ^/shop-(.+)-(.+)-(.+).html /shop\.php\?uid=$1&action=$2&m=$3;
    }location /search {
      rewrite ^/search-(.+)-(.+)-(.+).html /index\.php\?m=$2&s=$3&key=$1;
    }location / {
      rewrite ^/(.+)-(.+)-(.+).html(.+) /index\.php\?m=$1&s=$2&id=$3$4;
      rewrite ^/(.+)-(.+)-(.+).html /index\.php\?m=$1&s=$2&id=$3;
      rewrite ^/(.+)-(.+).html(.+) /index\.php\?m=$1&s=$2$3;
      rewrite ^/(.+)-(.+).html /index\.php\?m=$1&s=$2;
      rewrite ^/(.+).html(.+) /index\.php\?m=$1&$2;
      rewrite ^/(\w+).html$ /index\.php\?m=$1;
    }location /_ {
      rewrite ^/_(.+)-(.+)-(.+)/(.+) /index\.php\?m=$1&s=$2&id=$3$4;
      rewrite ^/_(.+)-(.+)-(.+)/ /index\.php\?m=$1&s=$2&id=$3;
      rewrite ^/_(.+)-(.+)/(.+) /index\.php\?m=$1&s=$2$3;
      rewrite ^/_(.+)-(.+)/ /index\.php\?m=$1&s=$2;
      rewrite ^/_(.+)/(.+) /index\.php\?m=$1&$2;
      rewrite ^/_(.+)/ /index\.php\?m=$1;
    }location /templates {
      rewrite ^/templates/(.+)/*.htm$ /404\.php;
    }看看可以不
      

  3.   


    测试了一下,不行。
    麻烦帮忙看一下,谢谢啦
    测试地址:http://110.76.46.114:8012/