我有一个控制器,名为“关于”:
<?php
namespace App\Controllers;
class About extends BaseController
{
public function __construct()
{
$this->data['site_title'] = "About Us";
}
public function index()
{
//return view('welcome_message');
return $this->_renderPage('About/index', $this->data);
}
}
render_page 函数位于基本控制器中,如下所示:
public function _renderPage($view, $data = [])
{
$data = array_merge($this->data, $data);
$data['_html_content'] = view('Home/' . $view, $data);
return view('Home/page', $data);
}
我的文件夹结构是:
应用程序
-Controllers
- About
- Home
- Contact
我的查看文件如下:
-Home
-Contact
- index.php
-About
- index.php
- ...
我参考的方式是
<a href="<?php echo site_url('about') ?>">About</a>
我的 .htaccess 文件有这行代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php/$1 [L]
为什么我仍然收到错误:404 - 文件未找到 当我输入 url 时,找不到控制器或其方法:\App\Controllers\Ivy::codeignitor:
localhost:8080/myproject/about
尝试
<?= base_url()?>
代替<?= site_url()?>