nginx下配置laravel+rewrite重写

 server {
    listen 80;
    server_name ha.d51v.cn;
    #access_log /data/wwwlogs/access_nginx.log combined;
    root /data/wwwroot/demo/wechat_center/public;
    index index.html index.htm index.php;
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    location /nginx_status {
      stub_status on;
      access_log off;
      allow 127.0.0.1;
      deny all;
    }
    location ~ [^/]\.php(/|$) {
      #fastcgi_pass remote_php_ip:9000;
      fastcgi_pass unix:/dev/shm/php-cgi.sock;
      fastcgi_index index.php;
      include fastcgi.conf;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
      expires 30d;
      access_log off;
    }
    location ~ .*\.(js|css)?$ {
      expires 7d;
      access_log off;
    }
    location ~ /\.ht {
      deny all;
    }
#################以下是Nginx自定义配置的#######################
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    if (!-d $request_filename)
    {
        rewrite ^/(.+)/$ /$1 permanent;
    }

    # 去除index action
    if ($request_uri ~* index/?$)
    {
        rewrite ^/(.*)/index/?$ /$1 permanent;
    }

    # 根据laravel规则进行url重写
      if (!-e $request_filename)
      {
          rewrite ^/(.*)$ /index.php?/$1 last;
          break;
      }
      #error_page   500 502 503 504  /50x.html;
      location = /50x.html {
          root   html;
      }
  }

 

posted @ 2017-05-14 17:32  StudyBlog  阅读(10281)  评论(0编辑  收藏  举报