2015-02-05 195 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>