2015-02-05 189 views
0

我最近完成了我的第一個laravel站點,但現在我陷入了部署。對我來說這是一個全新的概念。我的網站空間由1 &提供1.在1&1服務器上部署Laravel

我已經嘗試了幾個教程,但似乎沒有工作。基於本教程在這裏 : Uploading Laravel Project onto Web Server

我我的構建服務器文件夾,如下所示:

(注意:第一FTP發佈我的服務器時,沒有WWW或html_docs,只有一個日誌文件夾)。

enter image description here

在WWW,我的index.php變更爲:

require __DIR__.'/../laravel/bootstrap/autoload.php'; 
$app = require_once __DIR__.'/../laravel/bootstrap/start.php'; 

在laravel /引導/ paths.php文件我改變:

'public' => __DIR__.'/../../www', 

訪問時我的域在瀏覽器中,例如:myDomain.co.uk - 該網站被重定向到一個「佔位符」(名爲/ defaultsite)頁面,並指出「這個d域名剛剛被註冊。「

如果我追加/www/index.php例如,我得到的文件不存在,即使該文件駐留在我的結構上面。

正如您可能已經注意到的,我對服務器端方面(如FTPing等)非常陌生。我已經閱讀了一些內容,似乎都採取了不同的方法,讓我對最好的方法感到困惑。 我不知道從哪裏去,所以任何建議表示讚賞。謝謝。

編輯: 我覺得其實我懂了工作,但現在當我去domain.com/public我得到了我認爲這是一個DB錯誤:

SQLSTATE[HY000] [2002] No such file or directory. 

有什麼建議嗎?

+0

HTTP服務器文檔根目錄是否設置爲「www」目錄? – Bogdan 2015-02-05 19:27:00

+0

原諒愚蠢的問題,但位於哪裏,我是第一次干涉事情。感謝您的迅速回復。 – Benji40 2015-02-05 19:35:16

+0

不確定你在** 1&1 **上配置的位置,因爲我以前從未使用過它們。但是嘗試在'/'(** laravel **和** www **文件夾旁邊)放置一個帶有一些文本的測試'index.html'文件並訪問該網站以查看是否獲得了服務。 – Bogdan 2015-02-05 19:42:12

回答

0

所有固定的:)結果1 & 1不要將它們的db名稱作爲本地主機或121.0.0.1。我只是改變了細節,實現了夢想。下一步是擺脫可怕的/公共/索引的網址。

0

您看到/public/index.php的原因是因爲您指向頂級目錄而不是/ public目錄。爲了解決這個問題,請訪問:

  1. 管理域
  2. 展開您的域,然後單擊「編輯目的地」
  3. 更改目的地目錄/公/。

這應該從URL中刪除公共。

這是我用於1and1和laravel 4.2的.htaccess文件,它刪除了.index。php並使用PHP的更新版本:

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 

    AddHandler x-mapp-php6 .php 
    AddType x-mapp-php6 .php 

    # Redirect Trailing Slashes... 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^/index.php [L] 

</IfModule>