无法让 Laravel 在 Ubuntu 上使用 apache

Posted

技术标签:

【中文标题】无法让 Laravel 在 Ubuntu 上使用 apache【英文标题】:Can't get Laravel to work with apache on Ubuntu 【发布时间】:2014-10-15 17:49:17 【问题描述】:

我已经尝试了几个小时让 Laravel 与运行 Ubuntu 14.04 的 Apache 一起工作,但没有结果。如果我去 site.dev,我试图让 Laravel 欢迎页面显示,但它只显示我去 localhost 时显示的默认 apache 页面。如果我转到 localhost/laravel/public,它似乎只显示欢迎页面。我在 /var/www/html/ 目录中有 laravel 文件夹,它似乎是 Ubuntu 上 apache 的文档根目录(我以前只在 Windows 上使用过 WAMP)。我按照说明为 Laravel 制作了一个虚拟主机文件,位于:

/etc/apache2/sites-available/laravel.conf

及其内容:

<VirtualHost *:80>
  ServerName site.dev
  DocumentRoot /var/www/html/laravel/public
</VirtualHost>

然后我运行它来启用它:

ln -s /etc/apache2/sites-available/laravel.conf /etc/apache2/sites-enabled/laravel.conf
service apache2 reload

这也是我的 /etc/hosts 文件现在的样子:

127.0.0.1   localhost
127.0.1.1   which1ispink-EP31-DS3L
127.0.0.1   site.dev

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

【问题讨论】:

您是否启用了重写? sudo a2en 重写 是的,我做到了。虽然我认为命令是“sudo a2enmod rewrite”。 “sudo a2en rewrite”显示找不到命令。 就是这样。忘记语法了。 我认为您需要专门允许为您的虚拟主机重写。 在 ServerName site.dev 之后添加 AllowOverride All 【参考方案1】:

您运行的命令基本上只允许 apache 使用 mod rewrite。您需要专门为您的虚拟主机打开它。添加带有AllowOverride all&lt;directory&gt; 部分应该可以正常工作。

【讨论】:

以上是关于无法让 Laravel 在 Ubuntu 上使用 apache的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ubuntu 服务器上部署 laravel 应用程序? (ssh)

无法在 ubuntu 中安装 laravel(缺少 ext-zip)

Ubuntu16.04上使用Nginx部署Laravel应用程序

如何在不使用 artisan 的情况下在远程 ubuntu 服务器上连接 Laravel 7.12 项目的数据库

ubuntu 16.04 laravel虚拟主机即使按照描述执行所有步骤也无法正常工作

xampp ubuntu laravel 无法打开流或文件“/storage/logs/laravel log”:无法打开流:权限被拒绝