我是Laravel的新手,我创建了虚拟主机http://example.com并在此域的文件夹中安装了Laravel但是当我尝试访问此域时,我得到了这个
答案 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.dev
(dev
进行开发)导航到我在本地主机上的网站
答案 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/
目录,因此它可以在该目录中使用其.htaccess
和index.php
。