最近在學習TP5,順手開發個小程序正好遇到雙11百度雲主機做活動,於是搞了一個bch。但是也遇到很多坑,加上百度雲主機對應的支持文檔寫的簡單隨意,也是遇到不少麻煩,整理出來,供參考。
1、程序文件上傳位置
需要把你的程序根目錄文件下的文件和文件夾上傳到雲主機對應的/webroot目錄下,/webroot下此時已經有一些系統自動生成的文件,沒關系,直接把你的文件內容(注意不是你的程序文件的根目錄這一個文件夾,而是根目錄下的所有內容)上傳到這里就可以了。
2、首頁無法進入的問題
無法進入自己的首頁,主要因為從是thinkphp5開始,入口頁面index.php被放在了public目錄下了,所以,nginx這時候找不到入口文件,所以進不了主頁。處理辦法:
在webroot目錄下新建index.php文件,增加一句代碼即可
<?php require './public/index.php'; ?>
3、只有首頁能進入,其他頁面404無法找到文件
主要是因為在thinkphp中做了url的重寫PATHINFO,隱藏了入口文件,所以你在你的apache服務器中是沒有感知,http://localhost/index.php 與 http://localhost 是一樣的效果,但是在雲虛擬機中,用的是nginx,這個時候,你的入口文件就隱藏不了了,如果要隱藏,就會報錯404無法找到文件。要么你在處理時候注意加上入口文件,要么做url重寫。
處理辦法:在webroot下新建bcloud_nginx_user.conf文件,代碼如下:
location / { if ( -f $request_filename) { break; } if ( !-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } }
4、可能你會遇到靜態文件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搞定!