安装Laravel后,XAMPP localhost返回未找到的对象

时间:2013-06-16 02:25:34

标签: php laravel xampp laravel-4

经过多次讨厌,我得到了与XAMPP一起工作的laravel。但是,我现在似乎无法通过localhost访问htdocs文件夹中的目录。尝试访问文件会返回Object not found!以及The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

我为让laravel工作所做的改变现在看起来很模糊。我唯一记得做的是编辑hosts文件以通过在hosts文件中添加127.0.0.1 laravel.dev来使虚拟主机工作(使用mac btw)。我还在httpd-vhost.conf文件中添加了一个虚拟主机。

我做了撤消上述修改,但没有任何区别。

关于什么出错的想法?​​

感谢。

消除困惑 我以为我会澄清我的经历。在安装 laravel 4 之前,我可以使用localhost/someProjectName访问我的所有项目,但现在它失败了。

我正在尝试确定导致此行为的更改。顺便说一句,我访问我的laravel项目没有问题(我的映射允许我通过laravel.dev访问它)

6 个答案:

答案 0 :(得分:15)

查看您的/etc/httpd.conf文件,看看您是否已激活虚拟主机。

如果是,请检查您的etc/extra/httpd-vhosts.conf文件。您可能已经设置了VirtualHost。

编辑:我发现一旦打开虚拟主机,XAMPP需要一个默认的VirtualHost用于基本的htdocs文件

尝试添加默认的VirtualHost(位于文件底部),如下所示:

<VirtualHost *:80>
ServerName localhost
DocumentRoot "/Applications/XAMPP/htdocs"
<Directory "/Applications/XAMPP/htdocs">
Options Indexes FollowSymLinks Includes execCGI
AllowOverride All
Order Allow,Deny
Allow From All
</Directory>
</VirtualHost>

答案 1 :(得分:3)

听起来我觉得你的目录配置方式存在问题。确保创建一个指向应用程序目录中 public 文件夹的虚拟主机(如果您使用的是Apache)。

例如,如果您的Laravel项目位于/ Applications / XAMPP / htdocs / Laravel下,则设置如下虚拟主机:

<VirtualHost *:80>
    DocumentRoot /Applications/XAMPP/htdocs/Laravel/public

    # Other directives here
</VirtualHost>

另外,如果您正在使用PHP&gt; = 5.4,请将SSH插入应用程序文件夹并运行

./artisan serve

(确保您的PHP可执行文件位于PATH变量中)。然后去localhost:8000,你应该运行你的应用程序。 运行此命令将运行PHP内置Web服务器,并为您节省配置虚拟主机的麻烦。

答案 2 :(得分:2)

在Apache的http.conf中,找到DocumentRoot行并在末尾添加子目录/public

一旦完成并重新启动Apache,您将能够访问htdocs/public文件夹(包括该文件夹的子目录)中包含的所有内容,以及您在其中定义的所有路由Laravel。

Laravel旨在通过这种方式进行设置,以保护代码和文件,方法是不将它们放在提供给网络的文件夹中。

答案 3 :(得分:1)

我不知道你是在运行L4还是L3。但是,启动CLI和

  

$ cd ./path/to/project

然后是L4:

$ php artisan serve

对于L3:

$ php -S localhost:8000 -t public

现在,您可以转到localhost:8000查看您的申请。

答案 4 :(得分:1)

您遇到问题,因为该对象确实不存在于您的htdocs目录中。您不必在xampplocalhost之后追加127.0.0.1,因为xampp会将其视为htdocs下的对象或文件夹。

如果您想访问自己的博客,请确保在htdocs下有一个博客文件夹并放入您的网址localhost/blog

答案 5 :(得分:1)

我有同样的问题,发现vhost中有miss配置。所以这是正确的配置。

etc/extra/httpd-vhosts.conf

中的

<VirtualHost *:80>
    DocumentRoot "D:/xampp/htdocs/laravel-master/public"
    ServerName laravel.local
    ErrorLog "logs/laravel-master-error.log"
     <Directory D:/xampp/htdocs/laravel-master/public>  
        AllowOverride All
        Order Allow,Deny
        Allow From All
    </Directory>
</VirtualHost>

在主机文件中

127.0.0.1 laravel.local