這是超級簡單的共享託管。
步驟1:瞭解您的文件夾結構。您的共享主機的佈局總體上應該是這個樣子:
/
username
home
public_html
subdomain-name
laravel-files (optional)
...other folders etc
如你希望知道,爲您的網站所有公開的文件將在您的public_html文件夾中。
注意:有時一個子域將在public_html文件夾內。這沒關係,但我建議在根上創建你的子域名文件夾以獲得一點額外的安全性。您可以在cPanel中輕鬆地完成此操作,但是在創建子路徑時更改路徑。
第2步:如果您希望它更清潔,請將您的Laravel文件上傳到根目錄(位於public_html上方)或子文件夾中。
對於一個小項目,我通常會將文件上傳到上面的「home」文件夾中。但是對於更清潔的結構,您可能需要在名爲「laravel-files」的「home」文件夾中創建一個文件夾。
接下來的是如何在「laravel-files」文件夾中完成它。如果你把它們上傳到「home」,那麼你所要做的就是擺脫下面對「/ laravel-files」的所有引用。
第3步:編輯您的公共/ index.php文件和引導文件/文件paths.php:
在paths.php
變化
'app' => __DIR__.'/../app',
到:
'app' => __DIR__.'/../laravel-files/app',
變化:
'public' => __DIR__.'/../public',
到:
'public' => __DIR__,
變化:
'base' => __DIR__.'/..',
到:
'base' => __DIR__.'/../laravel-files',
變化:
'storage' => __DIR__.'/../app/storage',
到:
'storage' => __DIR__.'/../laravel-files/app/storage',
在的index.php
變化:
require __DIR__.'/../bootstrap/autoload.php';
到:
require __DIR__.'/../laravel-files/bootstrap/autoload.php';
變化:
$app = require_once __DIR__.'/../bootstrap/start.php';
到:
$app = require_once __DIR__.'/../laravel-files/bootstrap/start.php';
現在,你需要做的是,正如我所說上傳laravel項目,你的「laravel文件」文件夾中。
你不會上傳的唯一東西是你的laravel「public」文件夾的內容,它應該被上傳到你的「subdomain-name」文件夾(這包括你的index.php和所有的css js文件等) 。
希望這會有所幫助!
請注意我的回答是基於這個問題:How to install Laravel 4 to a web host subfolder without publicly exposing /app/ folder?但是爲您的情況量身定製。
我沒有得到一件事。爲什麼不能在公用文件夾(服務器)上放置公用文件夾內容(laravel)。你不需要爲主域和子域設置不同的設置。一個核心laravel可以處理這兩者。 – itachi