我是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服务器。抱歉浪费你的时间。
答案 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";