Laravel nginx 伪静态规则

最近在调研各种的PHP框架(CI, Cake, ThinkPHP, Laravel, Yii)感觉Laravel看上去很美,深入了解了下。开发机使用的是Apache,Stage上跑的nginx,部署后碰到所有的重定向都报404错误的情况。搞了半天,最后把下面这段代码加到nginx的配置中终于搞定了。




  1. try_files $uri $uri/ @rewrite;  
  2. location @rewrite {  
  3.     rewrite ^/(.*)$ /index.php?_url=/$1;  
  4. }  



  1. server {  
  2.     listen  80;  
  3.     server_name yourdomain.com;  
  4.     root 'PATH_POINTING TO YOUR PUBLIC WEB FOLDER';  
  5.     index index.php;  
  6.   
  7.     try_files $uri $uri/ @rewrite;  
  8.     location @rewrite {  
  9.         rewrite ^/(.*)$ /index.php?_url=/$1;  
  10.     }  
  11.   
  12.     # PHP FPM configuration.  
  13.     location ~ \.php {  
  14.             fastcgi_pass                    unix:/var/run/php5-fpm.sock;  
  15.             fastcgi_index                   index.php;  
  16.             fastcgi_split_path_info         ^(.+\.php)(.*)$;  
  17.             include                         /etc/nginx/fastcgi_params;  
  18.             fastcgi_param                   SCRIPT_FILENAME $document_root$fastcgi_script_name;  
  19.     }  
  20.   
  21.     # We don't need .ht files with nginx.  
  22.     location ~ /\.ht {  
  23.             deny all;  
  24.     }  
  25. }  

你可能感兴趣的:(PHP)