2011-02-14 85 views
2

每个文件都被传递给“index.php”,但由于fastcgi,每个php文件都没有正确重定向。任何解决方法?Nginx不重定向php文件

location/{ 
    if ($request_filename ~* "index.php") { 
     break; 
    } 

    rewrite ^/(.*)$ /index.php?page=$1 last; 

    break; 
} 

location ~* \.php$ { 
    include fastcgi_params; 

    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; 
    fastcgi_pass 127.0.0.1:9000; 
} 

感谢

回答

2
  1. 确保你的PHP源文件的根目录是:在/ usr /共享/ nginx的/ HTML /否则,修改fastcgi_pass ..

这是我有一个工作配置:

location /media { 
    if (-f $request_filename) { 
      # filename exists, so serve it 
     break; 
    } 

    if (-d $request_filename) { 
      # directory exists, so service it 
     break; 
    } 
    rewrite ^/(.*)$ /media/index.php?$1; 
} 

它将重定向所有请求不存在并且通常会向index.php返回404错误