2013-04-09 57 views
0

我用這個配置:nginx的擴展名的PHP的URL,而不if語句

root /www/mysite/static 
location/{ 
    try_files $uri @php; 
} 
location @php { 
    fastcgi_pass 127.0.0.1:9000; 
    include fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME /www/mysite/controller$fastcgi_script_name.php; 
} 

這首先會檢查/ WWW/mysite的/靜態具有文件。如果找不到該文件,則會在「file.php」上運行fastcgi。

現在,如果我去www.mysite.com/asdf,它會嘗試使用/www/mysite/controller/asdf.php運行fastcgi,它不存在。

我看過如果陳述是邪惡的,那麼我該怎麼做呢?

回答

0

終於想通了:

location /info { 
    root /usr/share/nginx/www; 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    include fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/www/info.php; 
} 

其實是有道理的,現在我已經不屑於閱讀文檔...