2012-03-06 65 views

回答

2

的Try ...

location ~ (\.php|sitemap\.xml|api/api\.js)$ { 
    ... 
} 
2

你真不該試圖迫使Nginx的送東西給PHP。這是'錯誤的方式'。你應該讓Nginx看看文件是否存在,如果不存在則通過。據瞭解,* .php需要由PHP處理,所以你通過.php。

location/{ 
    try_files $uri /index.php; 
} 

location ~ \.php { 
    fastcgi_pass unix:/tmp/php-fpm.socket; 
} 

location = /api/api.js { 
    fastcgi_pass unix:/tmp/php-fpm.socket; 
} 

location = /sitemap.xml { 
    fastcgi_pass unix:/tmp/php-fpm.socket; 
} 

試圖保持位置的正則表達式時,你不明白Nginx的位置塊的工作是如何將是從長遠來看,極其痛苦。

http://wiki.nginx.org/HttpCoreModule#location