【发布时间】:2012-04-18 16:46:45
【问题描述】:
我在 Windows 7 机器上使用 CI 和 WAMP。在该站点的应用程序文件夹中,我有一个 .htaccess 文件,其中包含以下内容:
RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]
这是复制和修改CodeIgniter User Guide。我确保 rewrite_module(以前不是 mod_rewrite 吗?)处于活动状态并重新启动了 WAMP。在我的控制器中,我有以下内容:
<?php
class Forum extends CI_Controller
{
public function index()
{
$data['title'] = "Card Forums";
$this->load->view('Header', $data);
$this->load->model('forumdb');
$data['sections'] = $this->forumdb->getSections();
$this->load->view('Home', $data);
$this->load->view('Footer');
}
public function site()
{
$data['title'] = "Card Forums - Site";
$this->load->view('Header', $data);
$data['section'] = "Site";
$this->load->view('Forum', $data);
$this->load->view('Footer');
}
}
当我转到localhost/forum 时,它完全符合我的要求。但是当我尝试转到localhost/forum/site 时,它会显示以下内容:
未找到
在此服务器上找不到请求的 URL /forum/site。
在视图Forum我有:
<?php echo $section; ?>
现在应该只显示变量,因为我想确保我首先访问该页面(周五才开始编写此站点)。当我尝试 localhost/forum/index.php/site 时,它给了我一个 404 错误。
我有一种感觉,我在这里遗漏了一些非常简单的东西,这让我很烦。任何帮助将不胜感激。
【问题讨论】:
-
尝试使用 ?$1 而不是 /$1
-
不,没有这样做。我尝试 URL 的两种方式结果相同。
-
你重启服务器了吗?
-
激活rewrite_module后?我重新启动了 WAMP,但没有重新启动我的计算机。觉得我应该试试?
-
你只需要重启wamp
标签: php .htaccess codeigniter mod-rewrite