14

经过一番折腾之后,我让 laravel 与 XAMPP 一起工作。但是,我现在似乎无法通过 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 工作所做的更改现在看起来很模糊。我记得做的唯一一件事是编辑文件以通过添加主机文件(使用mac btw)hosts使虚拟主机能够工作。127.0.0.1 laravel.dev我还在 httpd-vhost.conf 文件中添加了一个虚拟主机。

我确实撤消了上述更改,但没有任何区别。

对出了什么问题有任何想法吗?

谢谢。

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

我试图确定是什么变化导致了这种行为。顺便说一句,我访问我的 laravel 项目没有问题(我的映射允许我通过 访问它laravel.dev

4

6 回答 6

17

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

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

编辑:我发现一旦你打开虚拟主机,XAMPP 需要一个默认的虚拟主机来保存你的基本 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>
于 2013-07-08T22:10:46.833 回答
3

在我看来,这是您的目录配置方式的问题。确保创建一个指向应用程序目录中公用文件夹虚拟主机(如果您使用的是 Apache) 。

例如,如果你的 Laravel 项目在 /Applications/XAMPP/htdocs/Laravel 下,那么像这样设置一个虚拟主机:

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

    # Other directives here
</VirtualHost>

另外,如果您使用的是 PHP >= 5.4,请通过 SSH 进入应用程序文件夹并运行

./artisan serve

(确保您的 PHP 可执行文件在您的 PATH 变量中)。然后去 localhost:8000 你应该让你的应用程序运行。运行这个命令会运行 PHP 内置的 webserver,省去了配置虚拟主机的麻烦。

于 2013-07-09T01:59:54.483 回答
2

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

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

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

于 2013-06-16T06:20:14.727 回答
2

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

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
于 2018-04-09T07:14:07.657 回答
1

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

$ cd ./path/to/project

然后对于 L4:

$ php artisan serve

对于 L3:

$ php -S localhost:8000 -t public

现在您可以去localhost:8000查看您的应用程序。

于 2013-06-17T06:00:30.197 回答
1

您遇到问题是因为您的htdocs目录中确实不存在该对象。您不必在xampp之后追加,localhost或者127.0.0.1因为xampp会将其视为对象或htdocs.

如果你想访问你的博客,请确保你有一个博客文件夹htdocs并输入你的 URLlocalhost/blog

于 2013-12-31T03:03:35.930 回答