【发布时间】:2018-09-17 12:11:56
【问题描述】:
我的问题可能已经听过很多次了,但我仍然找不到完美的解决方案。 我的问题是:如何从 php codeigniter 的 URL 中隐藏模块名称、控制器名称和方法名称。 是的,我在 Google 上搜索了很多,也看过很多视频,但都没有成功。
下面是不同文件的代码行:
<li><a href="<?php echo base_url('index.php/user/UserController/homeIndex');?>">Home</a></li>
在上面的代码中有一个 ul li 菜单栏,当我点击 Home 时,它应该重定向到 UserController 和用户模块的 homeIndex 方法。 UserController 是控制器名称 homeIndex 是 UserController 中的 mentho 用户是模块。我在这里关注 HMVC 结构。
目前,当我点击主页时,它会在 url 下方创建 http://localhost/KWeds_svn/kweds_hmvc/index.php/user/UserController/homeIndex
下面是我目前正在使用的 .htacces 文件代码
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
下面是config.php中定义的base_url
$root = "http://".$_SERVER['HTTP_HOST'];
$root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
$config['base_url'] = "$root";
$config['index_page'] = 'index.php';
我对 url 的预期输出只有 http://localhost/KWeds_svn/kweds_hmvc/
请告诉我如何隐藏模块名称、控制器名称和方法名称。
【问题讨论】:
-
试试这个链接formget.com/codeigniter-htaccess-remove-index-php。我认为想要用户友好的网址。
标签: php codeigniter