经过多次讨厌,我得到了与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
访问它)
答案 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
目录中。您不必在xampp
或localhost
之后追加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