+
82
-

回答

在nginx php解析段增加以下

fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

完整的配置如下

server {
listen 80;
server_name mydomain.vm www.mydomain.vm;
access_log /app/logs/nginx/mydomain_access.log;
error_log /app/logs/nginx/mydomain_error.log;
root /app/www/mydomain.vm/public;
location ~ / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php/$1 last;
break;
}
}
location ~ [^/]\.php(/|$) {
#try_files $uri = 404;
#fastcgi_pass remote_php_ip: 9000;
fastcgi_pass unix: /dev/shm/php-cgi.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
expires off;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires off;
access_log off;
}
location ~ /\.ht {
deny all;
}
}


高手回复

我知道答案,我要回答