CodeIgniter项目在localhost浏览器上不加载任何内容

时间:2018-04-09 11:24:04

标签: php codeigniter codeigniter-3

我是CodeIgniter的初学者,并且一直关注一些视频和CI文档。我按照这些资源说的那样,我添加了.htaccess文件,视频说。这是文件。

RewriteEngine on
RewriteBase /ciBlog/
RewriteCond $1 !^(index\.php|asstes|js|css|uploads|favicon.png)
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^(.*)$ ./index.php/$1 [L]

我将base_url设置为localhost/ciBlog,同时尝试localhost/ciBlog/index_page设置为''

我也不能删除网址中的index.php,也不会按照文档和教程所描述的正确程序在我创建的网页上加载任何内容。

header.php

<html lang="en">
  <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>ciBlog</title>
  </head>

  <body>

footer.php

  </body>
</html>

home.php

<p>This is home.</p>

我试图访问localhost/ciblog/index.php/pages/view/home(理想情况下不应该index.php)。我得到的只是一个空白页面,页面来源也没有。

Pages.php控制器

<?php
  class Pages extends CI_Controller {
    public function view ( $page='home' ) {
      if (!file_exists(APPPATH.'/views/pages/'.$page.'.php')) {
          show_404();
      }

      $data['title'] = ucfirst($page);

      $this->load->view('templates/header');
      $this->load->view('pages/'.$page, $data);
      $this->load->view('templates/footer');
    }
  }

我做错了什么?我在Ubuntu中试过这个,以为我无法用Ubuntu配置它。为此安装Windows。所有的时间浪费都没有用。任何帮助赞赏。尝试使用WAMP,XAMPP和LAMP。

更新

我可以删除index.php。它实际上工作,我没有做任何事情。

更新2

好像我犯了一个愚蠢的错误。我在更新WAMP文件时运行XAMPP服务器。抱歉浪费你的时间。

3 个答案:

答案 0 :(得分:0)

在您的.htaccess file中使用此代码,并在网址中没有index.php。

Options All -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

答案 1 :(得分:0)

将此代码放入.htaccess文件中:

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ ?/index.php/$1 [L] 
</IfModule>   
<IfModule !mod_rewrite.c>
    ErrorDocument 404 ?/index.php
</IfModule>

更正配置文件中的baseurl,如下所示:

http://localhost/ciblog

的header.php

<html lang="en">
  <head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>ciBlog</title>
  </head>
  <body>

footer.php

</body>
</html>

home.php

<?php 
 $this->load->view('templates/header');
 echo "<p>This is home.</p>";
 $this->load->view('templates/footer');
?>

Pages.php控制器:

class Pages extends CI_Controller
{
    public function view ( $page='home' )
    {
        $data['title'] = ucfirst($page);
        $this->load->view('pages/'.$page, $data);
    }
}

现在使用以下网址运行:

http://localhost/ciblog/pages/view/home

答案 2 :(得分:0)

在config文件夹的config.php中更改以下内容

username.foo.com

将htaccess文件更改为以下

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

$config['index_page'] = '';

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

在config文件夹的routes.php中设置默认控制器如下

RewriteEngine on
RewriteCond $1 !^(index\.php|public|\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1

并在构造函数中编写错误报告以供将来调试

$route['default_controller'] = "your default controller";