【问题标题】:Fresh lithium framework installation returns error 403新的锂框架安装返回错误 403
【发布时间】:2012-12-16 18:08:57
【问题描述】:

我阅读了文档并完全按照他们的解释安装了锂,但我不断收到 403 禁止错误。我是 apache 和 php 的新手,我已经花了整整两天的时间来尝试让锂工作。我在 osx lion 上运行 apache 2.0,这就是我所做的:

1- 我在localhost/~marwan/ 中创建了一个名为 my_app 的新目录

2- 我将示例锂应用程序提取到该目录中。

3-我下载了锂框架,解压到/libraries/lithium/

当我访问http://localhost/~marwan/my_app/ 时,出现以下 403 错误:

您无权访问此服务器上的 /~marwan/mj/。

我已经研究并在.htaccess文件中添加了Options +FollowSymLinks,错误改为:

您没有访问权限 /Users/marwan/Sites/my_app/app/webroot/webroot/ 在此服务器上。

我尝试将 Options +FollowSymLinks 添加到每个 .htaccess 文件中,但没有任何改变。

我不知道这是否相关:localhost/~marwan/ 上的网站可以工作,但 localhost 也显示 403 错误。我试图摆弄以前答案中发布的不同权限,但没有运气。

感谢您的帮助。

httpd.conf 文件在这里http://pastebin.com/jLwHPbuq

编辑: httpd-userdir.conf 在这里http://pastebin.com/ZXi51pn7 httpd-vhosts.conf 在这里http://pastebin.com/3xqRmrzL

更新

当我从主文件夹中删除 .htaccess 时,锂项目工作,但它不能正常工作,因为重写不起作用。这是项目根目录http://pastebin.com/vt0fVyyL中的.htacces@

【问题讨论】:

  • 请包含您的网络服务器配置
  • 你能解释一下我该怎么做吗?我是 apache 新手,我应该附上 httpd.conf 文件吗?
  • 对,这就是我要说的。如果有这样的文件,还包括“启用站点”中的“默认”文件。
  • 我已经包含了配置文件。我没有默认文件。
  • 好的,现在也请包括这两个文件:/private/etc/apache2/extra/httpd-userdir.conf /private/etc/apache2/extra/httpd-vhosts.conf

标签: php lithium


【解决方案1】:

您在错误消息/~marwan/mj/ 中提供的路径与您提供的尝试到达http://localhost/~marwan/my_app/ 的路径不匹配。根据错误,Web 服务器说您正在尝试访问名为 mj 的目录,而您的 url 不包含 mj 所以除非您正在执行一些 URL 重写,否则这看起来像是一个问题。

另外,为了清楚起见,当您说您将库安装在 /libraries/litium 时,您的意思是相对于 Web 根路径,对吗?


好的,查看您的 conf 文件,您可以提供来自 /Library/WebServer/Documents~/Sites 的文件(波浪号代表您的用户目录,因此它与 /Users/marwan/Sites 的路径相同)

这样做...

  1. /Library/WebServer/Documents 中放置一个名为index.html 的文件并让它输出一些文本。
  2. 确保/Library/WebServer/Documents 中没有.htaccess 文件。
  3. 确保您没有以任何方式修改您的 httpd.conf 文件的默认设置。
  4. 您是否看到 index.html 的正确行为(您应该)?如果没有,会发生什么?

【讨论】:

  • 同时检查 httpd-userdir.conf。他可以访问他的主目录。
  • 我将 httpd.conf 中的 webroot 路径更改为 /Users/marwan/Sites 并在站点中添加了一个 index.html 文件,但 localhost/index.html 显示禁止访问(localhost/~ marwan/sites/index.html 仍然有效)。当我从主文件夹中删除 .htaccess 时,锂项目工作,但它不能正常工作,因为重写不起作用。这是项目根目录中的 .htacces pastebin.com/vt0fVyyL
  • 你不应该改变它。将 webroot 路径改回原来的 /Library/WebServer/Documents...您已经将它指向正确的位置(重读我的评论...文本的第 3 部分)。然后按照我在评论中的建议进行操作:“这样做……”
  • 我将 httpd.conf 改回默认值,但它不起作用。我在重新启动 apache 后查看了错误日志,发现 DocumentRoot [/usr/docs/dummy-host.example.com] 不存在,所以我使用这个答案stackoverflow.com/questions/6671042/… 修复了它,现在它可以工作了。您的回答帮助我了解了很多关于 apache 的知识。感谢您的帮助。
【解决方案2】:

我在重新启动 apache 后查看了错误日志,发现 DocumentRoot [/usr/docs/dummy-host.example.com] 不存在,所以我使用这个答案 stackoverflow.com/questions/6671042/... 修复了它现在可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多