【问题标题】:Nginx & PHP5-fpm + CodeIgniter or Kohana = 404 error?Nginx & PHP5-fpm + CodeIgniter 或 Kohana = 404 错误?
【发布时间】:2014-08-12 08:51:16
【问题描述】:

好的,这不是重写错误,因为我没有接触 conf 文件。

我用http://www.farinspace.com/install-and-configure-nginx-server/做web服务器。

问题是 CodeIgniter 和 Kohana 确实适用于 http://url.com/sub/http://url.com/sub/index.php

但是,它不适用于 http://url.com/sub/index.php/welcome 或任何控制器(我这样说对吗?),我得到 404 Not found。

【问题讨论】:

  • 我使用 sub 是因为我的文件位于子目录中,如果这很重要的话。
  • $_SERVER['SCRIPT_NAME']$_SERVER['PHP_SELF'] 中有什么内容?
  • 对他们来说都是 /sub/index.php
  • 当有一个有据可查的 wiki 时,不要使用随机的网络帖子来配置 Nginx。例如,该站点上显示的 location ~ \.php$ { 配置可能会让您被黑客入侵。 See This Link
  • 谢谢。自从我在 nginx 的不同教程中看到该链接后,我已经对其进行了更改。

标签: codeigniter ubuntu nginx kohana-3 php


【解决方案1】:

我这样说对吗?

显然不是。 kohana / codeigniter 中的 404 错误意味着找不到匹配的控制器 / 操作。此外,服务器的 404 错误意味着未找到整体资源。

Nginx 需要与 apache 不同的服务器配置。 RewriteRule 只是一个例子。

【讨论】:

  • 检查服务器的错误日志。同样从一个基本的 PHP 页面开始,只输出 FCGI 环境变量,并与您用于 URL 解析的框架的 FCGI/HTTP/PHP 要求进行比较。
  • 似乎没有任何错误指向框架我将如何输出 FCGI 环境变量并比较它们。
  • 好的,你的问题出在 nginx 服务器配置上。暂时忘记框架。而是创建一个简单的 PHP 文件,输出 nginx 提供给 PHP 脚本的环境变量,例如 $_SERVER$_ENV
  • 所以我做了 phpinfo();并且没有任何 $_ENV 但我确实看到了所有 $_SERVER 变量。
  • 它“只是” nginx 配置。要点也链接在答案中链接的论坛帖子中(将其作为任何未来读者的信息)。
猜你喜欢
  • 1970-01-01
  • 2012-05-15
  • 1970-01-01
  • 2013-08-28
  • 2014-07-07
  • 2015-09-14
  • 2015-11-17
  • 2011-10-09
  • 2014-03-25
相关资源
最近更新 更多