【发布时间】:2016-12-05 11:30:40
【问题描述】:
我对 Laravel 有疑问。在运行 Debian 8.5、名为 fmbsrv130 的 Intranet Apache 2.4.10 Web 服务器上,我想安装一个名为 sentinelle 的 Laravel 项目。
所以 Laravel 安装好了,我可以用http://fmbsrv130/sentinelle/ 访问它(我有 Laravel 的欢迎页面)。但是,如果我尝试转到http://fmbsrv130/sentinelle/1(不存在),我有来自 Apache2 的 404 表示“在此服务器上找不到请求的 URL /home/webadmin/sentinelle/public/index.php”。如果我尝试访问 http://fmbsrv130/sentinelle/index.php/1 我有来自 Laravel 的 404:“抱歉,找不到您要查找的页面。 RouteCollection.php 第 161 行中的 1/1 NotFoundHttpException:..."
在 Apache 中正确启用了 rewrite_mod。
这里是 Apache 的配置文件(站点可用的 000-default.conf):
Alias "/sentinelle" "/home/webadmin/sentinelle/public/"
<Directory "/home/webadmin/sentinelle/public/">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
为了测试,如果我尝试使用
从 Laravel 的公共文件夹中修改 .htaccess 文件RewriteEngine On
RewriteRule ^.*$ htaccess_tester.php
(htaccess_tester.php 是一个用于测试 .htaccessfile 内容的文件(在 GitHub 上查看),目前位于公共文件夹中),我有 Apache2 404 错误消息The requested URL /home/webadmin/sentinelle/public/htaccess_tester.php was not found on this server.
这是来自 .htaccess 文件的问题还是来自 Apache2 配置的问题或来自 Laravel 配置的问题或文件访问权限?
【问题讨论】:
-
新测试:如果我通过设置
DocumentRoot /home/webadmin/sentinelle/public更改 Apache2 配置一切正常,我可以使用 fmbsrv130 和 fmbsrv130/1 访问 Laravel,显示来自 Laravel 的 404 消息。有什么建议吗? -
你在修改conf文件后重启了apache吗?
-
我当然做到了:)