除了某些子目录请求之外,重写所有对index.php的请求

我想重写所有的请求到/index.php /css/*/js/*除外。

这是我的原始configuration

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

哪些工作,但让我直接访问所有文件。 我试过这个

 location / { rewrite ^(.+)$ /index.php break; } 

但无法通过像PHPparsing中断一样奇怪的错误。 当我得到/index.php重写工作,我假设我应该做一些像location /css/ { .. }等,但我不是很确定。

任何想法如何解决这个问题? 谢谢。

其实我发布这个问题后,发现了一个答案。

 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location /css/ {} location / { rewrite ^ /index.php last; } 

诀窍似乎是把PHP的location高于其他的。