【问题标题】:codeigniter moving from localhost to servercodeigniter 从本地主机移动到服务器
【发布时间】:2013-01-24 00:45:22
【问题描述】:

收到 404 错误

404 页面未找到

找不到您请求的页面。

config.php

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');



$config['base_url'] = 'http://myhost/sitedir';


$config['index_page'] = '';

$config['uri_protocol'] = 'AUTO';

默认控制器

class MY extends CI_Controller{


    function __construct(){
        parent::__construct();

         // language
        if($this->input->post("lang")){
            $this->load->model("language");
            $this->language->lang($this->input->post("lang"));
        }

        // !language

        //$this->lang->load("ge");
        if (!$this->session->userdata('lang'))
            $this->lang->load("ge");
        else
        $this->lang->load($this->session->userdata('lang'));
    }

    /**
     * mtavari gverdis controleri
     */
    function index(){
        $this->load->model("dbs");
        $data['products'] = $this->dbs->get_products_by_limit("products",7);
        $this->load->view("header");
        $this->load->view("index_page",$data);
        $this->load->view("footer");
    }

}

在其他目录中上传了默认的 ci 包并且它正在工作

我没有 .htaccess 文件

对不起我的英语不好:(

帮帮我:(

【问题讨论】:

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


    【解决方案1】:

    根据您的服务器地址编辑此行

    $config['base_url'] = 'http://server_addr/sitedir';-->like this
    

    【讨论】:

    • myhost/sitedir';这是不同的吗?我只是插入了 sitedir 和 myhost,我没有写我当前的主机和目录
    • 是的,当然...因为您只需要在该服务器上运行您的网站,因此您需要在 config.php 文件中对其进行配置,并且您还需要根据服务器 db 更改数据库设置像 root、密码、database.php 中的数据库名称......打开你的配置文件夹,编辑它们然后上传到服务器上
    • 看看你怎么能在turnof db库上工作....把所有的都和你的localhost一样..只改变db和site_url的配置....
    • 站点目录是这样的子文件夹othersite/mysite 但ai创建了其他简单的控制器并设置为默认值,它可以工作!
    • 然后你需要检查 db 并且你需要一个 .htaccess 文件。
    【解决方案2】:

    好的。我的英语也不好。

    如果您不使用 .httaccess ,您网站的 URL 必须是:

    'http://website/sitedir/index.php/my'
    

    在你可以使用的默认包中:

    ;因为 del 默认,`

    配置['index_page'] = '';

    ,如果我没有忘记它被设置为“欢迎”。 My web site 也在 codeignite 中,我在我的 incial 页面上也遇到了这个问题。

    您的配置 .php 与 my.php 相同。但我使用 . httaccess,清除 index.php URL。 希望对大家有所帮助。

    【讨论】:

    • 站点目录是这样的子文件夹othersite/mysite 但ai创建了其他简单的控制器并设置为默认值,它可以工作!但是这个控制器不起作用:(
    • 我修复了问题解决方案:默认 cxontroller 名称为 My.php 我将其重命名为 my.php 并且可以正常工作。谢谢大家:*
    【解决方案3】:

    你的问题是在路由或者 HTACCESS 如下设置变量为空。

    $config['index_page'] = '';
    

    尝试用这些参数('AUTO'、'PATH_INFO'、'QUERY_STRING'、'REQUEST_URI'和'ORIG_PATH_INFO')一一替换以下变量

    $config['uri_protocol'] = 'AUTO';
    

    【讨论】:

      【解决方案4】:

      我遇到这个问题的时间最长.. 就我而言,在弄乱了配置文件、路由、htaccess 等之后......最后的问题是我的 CPANEL 服务器是通过 Linux 托管的,而 linux 区分大小写当涉及到文件名时。我所有的控制器都有一个大写字母作为文件名的第一个字母。当我将其更改为小写时,它工作正常。也许这也是你的问题。祝大家好运。

      【讨论】:

        猜你喜欢
        • 2018-05-23
        • 2017-07-30
        • 2019-08-15
        • 2017-02-02
        • 1970-01-01
        • 2020-05-30
        • 2021-09-19
        • 2020-04-04
        • 2015-01-19
        相关资源
        最近更新 更多