服務器nginx部署PHP項目樣式不出來要注意的小問題


服務器使用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;
}
  • 當然樣式不出現可能還有其他原因,以后遇到了,再繼續補充到這里。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM