无法让 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
的<directory>
部分应该可以正常工作。
【讨论】:
以上是关于无法让 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”:无法打开流:权限被拒绝