我如何路由到控制器并在 codeigniter 中运行?
Posted
技术标签:
【中文标题】我如何路由到控制器并在 codeigniter 中运行?【英文标题】:How can i route to a controller and function in codeigniter? 【发布时间】:2012-08-06 02:29:00 【问题描述】:例如,我需要路由到“www.url.com/controller/function”,我将代码放在路由中的“config.php”中,但不起作用。我需要加载到同一个控制器中的视图,而不是在 url 中放置“index.php”。有可能吗?
【问题讨论】:
您的实际问题是什么?你想从 url 中删除 index.php 吗? 您实际上是先使用 RTFM 吗? ;) @Hameed 我会听取你的建议。我真的想在不放 index.php/controller 的情况下展示不同的视图 【参考方案1】:这里是从 url 中删除 index.php 的帮助 url
User Guide remove index.php
你必须使用 .htaccess 文件从 url 中删除 index.php
希望对你有帮助
更新
查看application\config\config.php文件,有一个名为'index_page'的变量
应该是这样的
$config['index_page'] = "index.php";
改成
$config['index_page'] = "";
这是您可以使用的 .htaccess 文件。
RewriteEngine on
RewriteCond $1 !^(index\.php|[javascript / CSS / Image root Folder name(s)]|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
这里有一些使用完整的链接..你可以关注这些..
remove index.php ***remove index.php codeigniter forumEnable mod rewrite from your server
希望这些对你有帮助
【讨论】:
实际上我需要在不放 index.php/controller/ 的情况下显示不同的视图,当我这样做时,所有源都不会加载。 @MrSanders:亲爱的,我已经更新了我的答案。看到它,希望现在你能摆脱 index.php【参考方案2】:默认情况下,index.php 文件将包含在您的 URL 中:
www.url.com/index.php/controller/function
您可以使用带有一些简单规则的 .htaccess 文件轻松删除此文件。以下是此类文件的示例,使用“否定”方法,其中除了指定项目之外的所有内容都被重定向:
RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]
将包含上述代码的 .htaccess 文件放到您的应用根文件夹中。
【讨论】:
以上是关于我如何路由到控制器并在 codeigniter 中运行?的主要内容,如果未能解决你的问题,请参考以下文章
如何创建不覆盖其他控制器路由的 Codeigniter 路由?
如何创建ajax请求以使用DataTable和Codeigniter并在同一文件中返回
在 CodeIgniter 中重新路由页面时如何防止重复内容?