我如何路由到控制器并在 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控制器中的uri段

在 CodeIgniter 中重新路由页面时如何防止重复内容?

如何设置动态路由以在 CodeIgniter 中使用 slug?

Codeigniter - CMS 的最佳路由配置?