我正在使用hmvc创建注册页面: -
现在我正在输入网址: - http://localhost/CI/index.php/user/registration
user是模块名称
控制器: - registration.php
<?php
class Registration extends MX_Controller{
function index() {
$this->load->view('homepage');
}
function register(){
$this->load->view('registrationPage');
}
}
?>
查看: - homepage.php
<html>
<body>
<a href="registration/register">register</a>
</body>
</html>
问题是,在我的网址中,我必须输入http://localhost/CI/index.php/user/registration/register
才能进入注册页面。
我想http://localhost/CI/index.php/user/register
我们怎么做呢?
设置base_url不起作用,设置路由也不起作用。
如果没有在网址中提供模块名称,是否可以转到任何页面??
答案 0 :(得分:2)
编辑配置文件夹
下的routes.php
文件
$route['user/register'] = 'user/registration/register';
答案 1 :(得分:0)
您可以在url rewrite
文件中使用.htaccess
见url rewriting without htaccess
和 how to do url-rewriting in PHP
在CodeIgniter中,.htaccess存在于
system/application/config/config.php
获取更多信息here,因为我不了解CodeIgniter
答案 2 :(得分:0)
您应该通过在主机文件中添加条目来为您的网站创建正确的URL。例如:
127.0.0.1 http://mysitename
或
127.0.0.1 http://localhost.mysitename
Google了解如何在apache中设置虚拟主机。你应该能够找到很多关于这方面的文章。现在编辑您的apache配置以启用虚拟主机。启用此功能后,您将为站点创建虚拟主机条目。虚拟主机告诉apache将您选择的URL映射到项目文件的特定目录路径。 (这样,实际的目录路径不是您的URL的一部分。)
接下来,您应该编辑.htaccess,以便始终通过index.php前端控制器路由请求。完成此操作后,您不必使用'/index.php/'作为每个URL的一部分。阅读Code Igniter用户指南中名为Code Igniter URL的部分。它有样本.htaccess配置。此外,它还解释了Code Igniter URL的工作原理。
要使CI与虚拟主机一起使用,您必须在CI配置文件中设置基本URL以匹配v主机URL。
完成所有这些后,您将需要重新启动apache。
现在,您可以根据所需的URL结构命名控制器和方法。在这种情况下,一个名为user.php的控制器带有一个名为register的方法。
答案 3 :(得分:0)
在您的项目中使用HMVC是必须的吗?否则,请使用简单的Codeigniter方式,因为这是您在这种情况下的预期。