codeigniter和GoDaddy的默认控制器问题 [英] Codeigniter and Godaddy Default Controller Issues

查看:195
本文介绍了codeigniter和GoDaddy的默认控制器问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法弄清楚什么是我的默认控制器去错了。在我的本地我所有的控制器正常工作。和所有除了在Godaddy的主机我的默认工作控制器。在我的默认控制器中的索引功能必须正常工作,因为我可以看到我的主页,但没有的功能指标在我的默认控制器后,正在与Godaddy的主机。

如果欢迎是我的默认控制器:如果我输入site.com我的网站看起来不错。如果我做site.com/ex_controller/page一切都很好。但是,如果我试图用site.com/welcome/page访问任何的Godaddy送我到404页。但这部作品在我的本地罚款。任何想法?

下面是我的.htaccess文件:

  RewriteEngine叙述上
的RewriteBase /
的RewriteCond%{} REQUEST_FILENAME!-f
的RewriteCond%{} REQUEST_FILENAME!-d
重写规则^(。*)的index.php?/ $ 1
 

在我的config.php:

  $配置['BASE_URL'] ='';
$配置['index_page'] ='';
$配置['uri_protocol'] ='自动';
 

下面是我的默认控制器code:

 < PHP的,如果(定义(BASEPATH')!)出口('没有直接的脚本允许访问);
在session_start();
一流的欢迎扩展是CI_Controller {

公共职能__construct()
{
    父:: __结构(); /* 必要! * /

    / *负荷模型调用数据库* /
    $这个 - >负载>模型('caifmo​​del');
    $这个 - >负载>帮手(URL);
}

公共功能指数()
{
    如果($这个 - >会话级>用户数据(LOGGED_IN'))
    {
        $ session_data是= $这个 - >会话级>用户数据(LOGGED_IN');
        $数据['用户名'] = $ session_data是[用户名];
    }
    其他
        $数据[用户名] ='';

    //将当前标签
    $数据['welcome_active'] =积极;
    $数据['host_active'] =;
    $数据['event_active'] =;

    //负载的意见
    $这个 - >负载>查看('包括/头,$数据);
    $这个 - >负载>查看('包括/制表符,$数据);
    $这个 - >负载>查看('WELCOME_MESSAGE');
    $这个 - >负载>查看('包括/页脚);
}
公共职能的登录()
{
    //获取POST数据与XSS过滤的事件形成
    $数据['交'] = $这个 - >输入 - >后期(NULL,TRUE);

    $查询= $这个 - > caifmo​​del-> is_admin($数据['后']);
    如果($查询)
    {
        $ sess_array =阵列();
        的foreach($查询为$行)
        {
            $ sess_array =阵列(
                'ID'=> $行向> ID,
                用户名=> $行向>用户名);
        }
        $这个 - >会话级> set_userdata('LOGGED_IN',$ sess_array);
    }
    $这个 - >指数();
}

公共职能退出()
{
    $这个 - >会话级> unset_userdata('LOGGED_IN');
    session_destroy();
    重定向(BASE_URL(),位置);
}
//成员页面
公共函数成员()
{
    如果($这个 - >会话级>用户数据(LOGGED_IN'))
    {
        $ session_data是= $这个 - >会话级>用户数据(LOGGED_IN');
        $数据['用户名'] = $ session_data是[用户名];
    }
    其他
        $数据[用户名] ='';

    //将当前标签
    $数据['welcome_active'] =积极;
    $数据['host_active'] =;
    $数据['event_active'] =;

    //负载的意见
    $这个 - >负载>查看('包括/头,$数据);
    $这个 - >负载>查看('包括/制表符,$数据);
    $这个 - >负载>查看('会员');
    $这个 - >负载>查看('包括/页脚);
}
 

解决方案

试试这个作为你的htaccess文件:

  RewriteEngine叙述上
的RewriteCond%{} REQUEST_FILENAME!-f
的RewriteCond%{} REQUEST_FILENAME!-d
重写规则。*的index.php / $ 0 PT,L]
 

I can't figure out what is going wrong with my default controller. All of my controllers work perfectly on my localhost. And all of the controllers except my default work on Godaddy's hosting. The index function in my default controller must be working since I can see my homepage, but none of the functions after index in my default controller are working with Godaddy's hosting.

If "welcome" is my default controller: If I type "site.com" my site looks fine. And if I do "site.com/ex_controller/page" everything is fine. But if I try to access anything with "site.com/welcome/page" Godaddy sends me to the 404 page. But this works on my localhost fine. Any ideas?

Here is my .htaccess file:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?/$1

In my config.php:

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

Here is the code of my default controller:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
session_start();
class Welcome extends CI_Controller {

public function __construct()
{
    parent::__construct(); /* necessary! */

    /* load model for calls to database */
    $this->load->model('caifmodel');
    $this->load->helper('url');
}

public function index()
{
    if($this->session->userdata('logged_in'))
    {
        $session_data = $this->session->userdata('logged_in');
        $data['username'] = $session_data['username'];
    }
    else
        $data['username'] = '';

    // set active tab
    $data['welcome_active'] = "active";
    $data['host_active'] = "";
    $data['event_active'] = "";

    // load views
    $this->load->view('include/header',$data);
    $this->load->view('include/tabs',$data);
    $this->load->view('welcome_message');
    $this->load->view('include/footer');
}
public function login()
{
    // get POST data with XSS Filtering from events form
    $data['post'] = $this->input->post(NULL, TRUE);

    $query = $this->caifmodel->is_admin($data['post']);
    if($query)
    {
        $sess_array = array();
        foreach($query as $row)
        {
            $sess_array = array(
                'id' => $row->id,
                'username' => $row->UserName);  
        }
        $this->session->set_userdata('logged_in', $sess_array);
    }
    $this->index();
}

public function logout()
{
    $this->session->unset_userdata('logged_in');
    session_destroy();
    redirect(base_url(),'location');
}
// members page
public function member()
{
    if($this->session->userdata('logged_in'))
    {
        $session_data = $this->session->userdata('logged_in');
        $data['username'] = $session_data['username'];
    }
    else
        $data['username'] = '';

    // set active tab
    $data['welcome_active'] = "active";
    $data['host_active'] = "";
    $data['event_active'] = "";

    // load views
    $this->load->view('include/header',$data);
    $this->load->view('include/tabs',$data);
    $this->load->view('membership');
    $this->load->view('include/footer');
}

解决方案

try this as your htaccess file :

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

这篇关于codeigniter和GoDaddy的默认控制器问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆