在远程服务器上配置codeigniter(未找到404)

时间:2016-07-06 12:08:28

标签: php codeigniter server http-status-code-404

我开始使用codeigniter和netbeans在远程服务器上实现php应用程序。即使我做了所有的配置,我也不明白为什么我仍然有(404未找到)。与服务器的连接没问题,我可以上传文件。在$ config ['base_url']中,我尝试了服务器的地址,index.html的路径,没有...没有结果。 我实际上不知道问题出在哪里以及我必须更改哪个文件,如果有人可以帮助我,请找一个解决方案。

非常感谢您的回答!

3 个答案:

答案 0 :(得分:1)

如果没有看到您的配置,很难解决您的问题。我会说首先仔细检查你提到的$ config ['base_url'],但是将其设置为网站名称/地址。例如,如果我只是在端口8888上本地运行某些东西,它将看起来像这样

$config['base_url'] = 'http://localhost:8888/';

因此,如果您的网站类似于wwww.example.com,那就是

$config['base_url'] = 'http://www.example.com/';

如果要从URL中删除“index.php”,还要仔细检查.htaccess文件以重新写入访问权限。您为自己的网站使用了哪些网络服务器?

答案 1 :(得分:1)

你说“index.html的路径”。 这不是CI的工作方式。您不应该直接访问视图。尝试使用控制器访问它们。例如,您可以拥有一个控制器“Welcome”(下载框架时是标准控制器)。它看起来像这样:

<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
    function index()
    {
         $this->load->view('welcome_message');
    }
}

此控制器应位于 应用程序/控制器,它将在应用程序/视图中加载视图。在这种情况下,这将加载'application / views / welcome_message.php'。您可以在application / config / routes.php中定义控制器的URL。默认情况下,只需下载框架即可调用控制器“Welcome”。你也谈到了.htaccess文件。如果要删除index.php,可以使用htaccess文件吗?来自网址。在这里查看这个问题的答案:CodeIgniter removing index.php from url

我真的建议在开始使用框架之前先阅读一些CI基础知识教程。您可以在几个小时内掌握框架及其文件夹结构的工作原理。

**编辑**
问题可能不在于codeigniter,而在于您的网络服务器,您可以删除编码服务器安装并添加phpinfo文件。这样你就可以看到你的服务器有哪些php设置(如果php完全启用的话)。另请注意,nginx不能与.htaccess一起使用,如果您使用的是nginx服务器,则应在配置文件中添加重写规则。

答案 2 :(得分:0)

默认情况下,某些托管服务提供商已禁用Mod_Rewrite。使用phpinfo()来检查它是否已启用。