server {
listen 80;
server_name xxx.aaa.com;
index index.html index.htm index.php;
root /website/www/iptvlog/;
rewrite ^(.*)/([A-Z][a-z]+).html$ $1/index.php/$2/index;
rewrite ^(.*)/([A-Z][a-z]+)-([a-z]+).html$ $1/index.php/$2/$3;
rewrite ^(.*)/([A-Z][a-z]+)-([a-z]+)-([a-z]+)-([0-9]+).html$ $1/index.php/$2/$3/$4/$5;
rewrite ^(.*)/([A-Z][a-z]+)-([a-z]+)-([a-z]+)-([\x00-\xff]+)-([a-z]+)-([0-9]+)-([a-z]+)-([0-9]+).html$ $1/index.php/$2/$3/$4/$5/$6/$7/$8/$9;
location ~ .*\.(php|php5)/?.*$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#方案一
#fastcgi_split_path_info ^(.+\.php)(.*)$;
#fastcgi_param SCRIPT_FILENAME /website/www/iptvlog$real_script_name;
#fastcgi_param PATH_INFO $fastcgi_path_info;
#fastcgi_param PATH_TRANSLATED /website/www/iptvlog$fastcgi_path_info;
#方案一结束
#方案二
fastcgi_param SCRIPT_FILENAME /website/www/iptvlog$fastcgi_script_name;
include fastcgi_params;
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ( $fastcgi_script_name ~ "^(.+?.php)(/.+)$" ) {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
#方案二结束
include fcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ {
expires 30d;
}
access_log off;
}上面的方法在nginx0.7.44是好用的 但是在1.3.15是不正常的,谁遇到过。要求必须能解析pathinfo 解析 形如 这样 index.php/a/b/c 的网址。。。求助…… 最佳答案