2011-02-14 84 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錯誤