【问题标题】:No pages loading in Laravel 4Laravel 4 中没有页面加载
【发布时间】:2013-06-01 06:23:42
【问题描述】:

在默认的 apache 安装上,我无法在默认的 laravel 安装上加载任何页面,因为我没有做太多的配置。

当我进入我的域时,我得到了第一个 laravel 页面“你已经到达。”.. 所以我继续做一个测试路线:

Route::get('about', function() { echo 'Hello World'; });

当我去 domain.net/about 或 domain.net/about.php 时都说页面无法显示。当我检查错误日志时:

[2013 年 6 月 5 日星期三 13:50:43] [错误] [客户端 123.456.12.9] 文件不存在:/home/xxx/public_html/about

[Wed Jun 05 13:50:57 2013] [error] [client 123.456.12.9] script '/home/xxx/public_html/about.php' 未找到或无法统计

我正在使用默认的 htaccess 文件,并且我还尝试了 laravel 网站上的其他版本。使用安装了 mcrypt 的 apache 2.2、php 5.4.. 除此之外,我的 apache 配置几乎是默认配置,所以我假设它缺少一些重要的东西。

我已检查 mod_rewrite 是否已加载。

我尝试去 /index 导致页面无法显示,如果我去 /index.php 我得到主页。

【问题讨论】:

  • 好吧,File does not exist: /home/xxx/public_html/about 意味着它不会被重写到基本文件中。你确定.htaccess 文件被读取了吗? (你至少需要AllowOverride FileinfoOTOH)
  • 救命!默认规则集是 AllowOverride None,并且在任何时候都没有启用。我在 httpd.conf 中添加了以下内容: AllowOverride All

标签: php apache laravel laravel-4


【解决方案1】:

这里奇怪的是“public_html”不正确。默认情况下,laravel 使用“public”作为文件夹名称。

查看您的 apache 配置 (vhost) 并确保它是正确的。

【讨论】:

  • 公用文件夹有 2 个选项。您可以将 DocumentRoot 设置为 /public 文件夹,或者您可以删除 public 文件夹并将其他所有内容放在 public_html 之外。来自 Laravel 文档:Laravel 旨在保护您的应用程序代码和本地存储,方法是仅将必须公开的文件放在公共文件夹中。建议您要么将 public 文件夹设置为站点的 documentRoot(也称为 web 根目录),要么将 public 文件夹的内容放在站点的根目录中,并将 Laravel 的所有其他文件放在 web 根目录之外。
猜你喜欢
  • 1970-01-01
  • 2019-08-08
  • 1970-01-01
  • 2017-07-02
  • 2017-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
相关资源
最近更新 更多