最近在學習TP5,順手開發個小程序正好遇到雙11百度雲主機作活動,因而搞了一個bch。可是也遇到不少坑,加上百度雲主機對應的支持文檔寫的簡單隨意,也是遇到很多麻煩,整理出來,供參考。javascript
一、程序文件上傳位置php
須要把你的程序根目錄文件下的文件和文件夾上傳到雲主機對應的/webroot目錄下,/webroot下此時已經有一些系統自動生成的文件,不要緊,直接把你的文件內容(注意不是你的程序文件的根目錄這一個文件夾,而是根目錄下的全部內容)上傳到這裏就能夠了。css
二、首頁沒法進入的問題html
沒法進入本身的首頁,主要由於從是thinkphp5開始,入口頁面index.php被放在了public目錄下了,因此,nginx這時候找不到入口文件,因此進不了主頁。處理辦法:java
在webroot目錄下新建index.php文件,增長一句代碼便可nginx
<?php require './public/index.php'; ?>
三、只有首頁能進入,其餘頁面404沒法找到文件web
主要是由於在thinkphp中作了url的重寫PATHINFO,隱藏了入口文件,因此你在你的apache服務器中是沒有感知,http://localhost/index.php 與 http://localhost 是同樣的效果,可是在雲虛擬機中,用的是nginx,這個時候,你的入口文件就隱藏不了了,若是要隱藏,就會報錯404沒法找到文件。要麼你在處理時候注意加上入口文件,要麼作url重寫。thinkphp
處理辦法:在webroot下新建bcloud_nginx_user.conf文件,代碼以下:apache
location / {
if ( -f $request_filename) { break; } if ( !-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } }
四、可能你會遇到靜態文件js/css/images等文件找不到,缺乏樣式等問題小程序
處理辦法:在webroot下bcloud_nginx_user.conf文件,繼續添加以下代碼:
location ~ ^/(images|javascript|js|css|flash|media|static|upload)/ { root /home/bae/app/public; expires 30d; }
OK搞定!
注意:若是部分圖片不顯示的話,能夠查看圖片路徑,把路徑開頭的文件夾名稱放入
(images|javascript|js|css|flash|media|static|upload) 裏面便可