我有Laravel项目,可以用
运行它php artisan serve
我在D:\Users\Dims\Design\MyApplication
目录中执行此命令。之后我可以在http://localhost:8000上看到网站,并且可以导航它,虽然很慢。
现在我正在配置apache服务的相同位置:
<VirtualHost *:80>
ServerAdmin webmaster@myapplication.app
DocumentRoot "D:\Users\Dims\Design\MyApplication\public"
ServerName myapplication.app
ErrorLog "logs/myapplication-error.log"
CustomLog "logs/myapplication-access.log" common
<Directory />
AllowOverride none
Require all granted
DirectoryIndex index.php
</Directory>
</VirtualHost>
不是,我将应用程序指向的不是项目的根目录,而是指向public
目录。这使我能够打开网站的主页,但点击任何链接会导致错误404。
如果我服务
DocumentRoot "D:\Users\Dims\Design\MyApplication"
使用Apache,我根本看不到主页,说403禁止。这可能是因为该目录没有index.php
。
那么,是否可以用Apache服务Laravel项目?
答案 0 :(得分:3)
设置apache服务器主机文件,如下所示:
<VirtualHost *:80>
ServerAdmin user@email.com
DocumentRoot D:\Users\Dims\Design\MyApplication\public
ServerName exampledomain.com
ServerAlias www.exampledomain.com
ErrorLog "C:/some_dir/example.error.log"
CustomLog "C:/some_dir/example.access.log" combined
<Directory "D:\Users\Dims\Design\MyApplication\public">
Options -Indexes
DirectoryIndex index.php index.html
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
现在您已将服务器名称设置为exampledomain.com,您还需要在Windows中设置主机(DNS)文件,以便您可以在浏览器中键入exampledomain.com并访问您的laravel项目。
编辑主机文件:
请按照以下步骤操作:
在记事本中,打开以下文件:
C:\ Windows \ System32下\驱动程序\等\主机
对文件进行以下更改。
在文件末尾添加以下行:
127.0.0.1 exampledomain.com www.exampledomain.com
点击文件&gt;保存以保存更改。
我们在这里做的是告诉Windows,当我们尝试访问exampledomain.com或www.exampledomain.com时,不要尝试通过互联网查找服务器,而是将请求发送到本地计算机本身(127.0.0.1)这将反过来为您的laravel项目服务。
你也可以在wikihow找到另一种方法 - &gt; http://www.wikihow.com/Install-Laravel-Framework-in-Windows
答案 1 :(得分:2)
是的,使用Apache提供Laravel应用程序是绝对可能的。要调试链接产生404错误的原因,您必须提供有关这些链接指向的URL的更多信息。打印网址时,最好始终使用Laravel的url()
,secure_url()
或route()
辅助函数。同时确认已启用Apache模块mod_rewrite
(Laravel Installation: Web Server Configuration)
答案 2 :(得分:0)
如果在配置了虚拟主机之后,您仍然无法访问laravel应用,但与手工艺服务兼容,请检查您的apache php版本:
检查/ etc / apache2 / mods-enabled,如果php模块低于laravel规范中要求的模块,请对其进行更新。就我而言:
override var preferredFocusEnvironments: [UIFocusEnvironment] { return [childViewController] }
解决方案位于:https://laracasts.com/discuss/channels/laravel/unexpected-illuminatesupportarrphp-on-line-388