Laravel没有显示index.php

时间:2014-01-27 16:33:04

标签: php frameworks laravel laravel-4

我是Laravel的新手,我创建了虚拟主机http://example.com并在此域的文件夹中安装了Laravel但是当我尝试访问此域时,我得到了这个 enter image description here

3 个答案:

答案 0 :(得分:10)

这是您的VirtualHost设置

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/example" ## <-- pointed to wrong folder
    ServerName example.com
    ServerAlias www.example.com 
    ErrorLog "logs/www.example.com.domain-error.log"
</VirtualHost>

您没有将其指向public文件夹。它应该是(这些是最低要求)

<VirtualHost *.80>
    DocumentRoot "C:/xampp/htdocs/example/public"
    ServerName example.com
</VirtualHost>

您应该将其指向public文件夹,因为index.php位于public文件夹中。

我使用这种设置

<VirtualHost laravel4.dev>
    DocumentRoot "D:/xampp/htdocs/laravel4/public"
    ServerName laravel4.dev
</VirtualHost>

windows/system32/drivers/etc/host文件中的相应设置是

127.0.0.2           ci.dev
127.0.0.3           laravel4.dev ## <-- This is for current vHost
127.0.0.4           symcom.dev

因此,我可以使用http://laravel4.devdev进行开发)导航到我在本地主机上的网站

答案 1 :(得分:3)

这正是你应该看到的。单击“公共”文件夹时,您是否看到“已到达”,带有laravel徽标?如果是这样,那么你已经正确安装了laravel。

'public'文件夹是当您将其放在服务器上时,实际公众可以访问您网站的主文件夹。你想在这里做两件事之一:

简单(但不安全)的方式:

将.htaccess文件添加到包含此文本的网络文件夹的根目录:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

这会将所有请求发送到www.example.com/public,但只会在网址中显示www.example.com。

更难(但更正确)的方式:

这完全取决于您将托管您的网站的提供商,但在Godaddy和其他人,您可以选择您的网站的根文件夹。在这种情况下,您选择'public'文件夹作为根。我无法为您提供相关教程,因为此选项适用于每个托管服务提供商的可用性。

编辑:我应该添加以防万一。当您向网站添加内容时,例如CSS /图像/文件以及公众可以访问的所有内容,请确保将它们放在公共文件夹中。

答案 2 :(得分:2)

您的VirtualHost配置需要将DirectoryRoot进一步指向public/目录,因此它可以在该目录中使用其.htaccessindex.php