TP5部署在百度雲主機的注意事項

TP5部署在百度雲主機的注意事項

 

最近在學習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) 裏面便可
相關文章
相關標籤/搜索