Laravel nginx 伪静态规则
最近在调研各种的PHP框架(CI, Cake, ThinkPHP, Laravel, Yii)感觉Laravel看上去很美,深入了解了下。开发机使用的是Apache,Stage上跑的nginx,部署后碰到所有的重定向都报404错误的情况。搞了半天,最后把下面这段代码加到nginx的配置中终于搞定了。
百牛信息技术bainiu.ltd整理发布于博客园
- try_files $uri $uri/ @rewrite;
- location @rewrite {
- rewrite ^/(.*)$ /index.php?_url=/$1;
- }
配置文件看上去是这样的:
- server {
- listen 80;
- server_name yourdomain.com;
- root 'PATH_POINTING TO YOUR PUBLIC WEB FOLDER';
- index index.php;
- try_files $uri $uri/ @rewrite;
- location @rewrite {
- rewrite ^/(.*)$ /index.php?_url=/$1;
- }
- # PHP FPM configuration.
- location ~ \.php {
- fastcgi_pass unix:/var/run/php5-fpm.sock;
- fastcgi_index index.php;
- fastcgi_split_path_info ^(.+\.php)(.*)$;
- include /etc/nginx/fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- }
- # We don't need .ht files with nginx.
- location ~ /\.ht {
- deny all;
- }
- }