Php 更改url方案

Php 更改url方案,php,codeigniter,codeigniter-url,Php,Codeigniter,Codeigniter Url,我正在使用hmvc创建注册页面:- 现在我在url中键入:-http://localhost/CI/index.php/user/registration user是模块名 控制器:-registration.php <?php class Registration extends MX_Controller{ function index() { $this->load->view('homepage'); } function re

我正在使用hmvc创建注册页面:- 现在我在url中键入:-
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>

问题是我必须在url中键入
http://localhost/CI/index.php/user/registration/register
用于进入注册页面

我想要
http://localhost/CI/index.php/user/register
我们如何才能做到这一点。? 设置基本url不起作用,设置路由ia也不起作用。
这是否可以转到任何页面而不在url中提供模块名称?

您可以在
.htaccess
文件中使用
url rewrite
看见 及

在CodeIgniter中,.htaccess存在于
system/application/config/config.php


获取更多信息,因为我不知道CodeIgniter

您应该通过在主机文件中添加条目为您的站点创建一个正确的URL。例如:

127.0.0.1http://mysitename

127.0.0.1http://localhost.mysitename

谷歌搜索如何在apache中设置虚拟主机。你应该能找到很多关于这方面的文章。现在编辑apache配置以启用虚拟主机。启用此功能后,您将为站点创建虚拟主机条目。虚拟主机告诉apache将您选择的URL映射到项目文件的特定目录路径。(这样,实际目录路径不是URL的一部分。)

接下来,您应该编辑.htaccess,以便请求总是通过index.php前端控制器路由。完成后,您就不必将“/index.php/”作为每个URL的一部分。阅读《代码点火器用户指南》中名为“代码点火器URL”的部分。它具有示例.htaccess配置。此外,它还解释了代码点火器URL是如何工作的

为了使CI与虚拟主机协同工作,必须在CI配置文件中设置基本URL以匹配v主机URL

完成所有这些之后,需要重新启动apache


现在,您可以根据所需的URL结构命名控制器和方法。在本例中,一个名为user.php的控制器使用一个名为register的方法

在config文件夹下编辑您的
routes.php
文件

$route['user/register'] = 'user/registration/register';

在您的项目中必须使用HMVC吗?否则,请使用简单的Codeigniter方法,因为在这种情况下,这就是您所期望的。

只需将您的
锚定标记更改为:-)无好友..:(它说找不到页面…..你能告诉我当你得到
page not found
showing
http://localhost/CI/index.php/register
对不起,我误解了你的问题。现在我的建议是你可以在你的PHP的
.htaccess
文件中进行URL重定向。我无法保存.htaccess文件s显示错误:-
您必须键入文件名
:(嗯,谢谢你的回复…但我在codeigniter中使用hmvc,用户是我的模块名控制器名是注册,函数是注册..我在url中得到的是:-
。/index.php/module\u name/controller\u name/controller\u function
。我只想
。/index.php/controller\u name/controller\u function
不包括在内ude模块名称..有没有办法做到这一点..你能告诉我篝火是怎么用的吗?我已经做了,但当我在homepage.php中单击注册链接时,它不起作用\n如果你的注册链接是这样的
change
$route['registration/register']='user/registration/register';
您肯定应该使用它。要添加,您应该使用
hmmm…hmvc将分离每个模块..可以使用简单的codeigniter完成,但我无法创建不同的模块..因此我使用hmvc]