服务器使用Nginx部署PHP项目的时候如果样式没有 出来,那么很可能 location 块里出问题了。 比如
location / { root /home/wwwroot/default/PHP_project; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.PHP; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
这样配置之后访问项目,能够访问,但是样式怎么没有了?难道是代码里css, js文件没有引入成功吗?并不是。(当然不排除CSS和js引入失败的情况,如果本地测试的时候有样式,部署服务器之后没有样式了。就不是这个原因)看Nginx配置的代码发现,匹配规则是 / ,而配置文件里只有这一个location块,也就是说所有的请求都转发给了PHP处理,包括静态文件。那么肯定出不来样式。如何改Nginx的配置呢?看下面(也可以写匹配静态文件的location 块,自行选择)
location / { root /home/wwwroot/default/PHP_project; index index.html index.htm ; } #PHP 的单独写一个匹配location,这样让静态文件走location /{} 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; }
- 当然样式不出现可能还有其他原因,以后遇到了,再继续补充到这里。