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