0

codeIgniter frameworkサブドメインのLinuxサーバーにcodeigniter Webサイトをアップロードすると、「errorUnable to load the requested file: Home\home.phpが表示されますが、ローカルWindowsマシンで正常に動作し、大文字と小文字の区別の問題を確認しましたが、すべて問題ありません。.htaccessファイルも確認しましたしかし、成功しません。なにか提案を。

ここに私のコントローラー「home.php」があります:

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

class Home extends CI_Controller {

public function __construct()
{
    parent::__construct();
    $this->template->set('nav', 'home');
    $this->load->model('Home_model', 'home');
}

public function index()
{

    $this->template->set('title', 'Books Bazaar : Home');
    $this->template->load('template', 'Home\home');
}

?> 

そして私の.htaccessファイルには次が含まれています:

DirectoryIndex index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

サイトをアップロードしたドメイン: http://books.atntechnologies.com/

ありがとう

4

1 に答える 1

1

これは、codeigniterがファイルをチェックする方法です

function load($tpl_view, $body_view = null, $data = null) 
{
   if ( ! is_null( $body_view ) ) 
   {
      if ( file_exists( APPPATH.'views/'.$tpl_view.'/'.$body_view ) ) 
      {
         $body_view_path = $tpl_view.'/'.$body_view;
      }
      else if ( file_exists( APPPATH.'views/'.$tpl_view.'/'.$body_view.'.php' ) ) 
      {
         $body_view_path = $tpl_view.'/'.$body_view.'.php';
      }
      else if ( file_exists( APPPATH.'views/'.$body_view ) ) 
      {
         $body_view_path = $body_view;
      }
      else if ( file_exists( APPPATH.'views/'.$body_view.'.php' ) ) 
      {
         $body_view_path = $body_view.'.php';
      }
      else
      {
         show_error('Unable to load the requested file: ' . $tpl_name.'/'.$view_name.'.php');
      }

      $body = $this->ci->load->view($body_view_path, $data, TRUE);

      if ( is_null($data) ) 
      {
         $data = array('body' => $body);
      }
      else if ( is_array($data) )
      {
         $data['body'] = $body;
      }
      else if ( is_object($data) )
      {
         $data->body = $body;
      }
   }

   $this->ci->load->view('templates/'.$tpl_view, $data);
}

だからあなたは'/'の代わりに必要'\'です$this->template->load('template', 'Home\home');

于 2013-06-01T11:06:18.817 に答える