如何在 Codeigniter 上隐藏 URL 字符串中的数据

Posted

技术标签:

【中文标题】如何在 Codeigniter 上隐藏 URL 字符串中的数据【英文标题】:How to hide data from URL string on Codeigniter 【发布时间】:2015-10-24 15:13:08 【问题描述】:

我是Codeigniter 的初学者,所以我需要帮助。

我正在使用 Codeigniter 制作博客网站,但我不知道如何隐藏控制器类和 URL 中的 ID。

就像我生成了以下 URL:http://localhost/codeigniter/index.php/content/some-title/123。

    content 是我的控制器类名。 some-title 是我的文章标题。 123 是我的文章 ID。

我只想保留要显示的标题。

例如:http://localhost/codeigniter/index.php/some-title。

任何帮助将不胜感激!!!

【问题讨论】:

你使用的是 nginx 还是 apache? 在 application/config/routes.php 中。 $route['some-title/(:any)'] = 'content/some-title/$i'; 这是可能的,但是您需要一个额外的控制器,让我知道是否要添加额外的控制器并且仍然没有完成该任务,所以我会回答 【参考方案1】:

您已添加您的链接 config/routes.php

http://localhost/codeigniter/index.php/content/some-title/123

Ex: $route ['some-title/(: any)']  = 'content/some-title/$123';

【讨论】:

破折号- 不允许在类方法中使用。更改some_title中的some-title方法【参考方案2】:

你可以这样做:

$route['(:any)'] = 'content/view/$1';

并且在您的内容控制器中,您必须有如下方法:

public funtion view($pagetitle)…

【讨论】:

以上是关于如何在 Codeigniter 上隐藏 URL 字符串中的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Codeigniter 的分页类中隐藏页面链接?

IIS 环境 CodeIgniter 隐藏 URL 中的 index.php

从 url 隐藏目录名称和 index.php

如何在 localhost 上设置 CodeIgniter 站点?

Codeigniter:在服务器中找不到请求的 URL

如何设置正确的codeigniter base url?