如何在 CodeIgniter 中禁用自定义 URL


How to disable custom URLs in CodeIgniter?

我讨厌代码点火器自定义网址,它在哪里:domain.com/controller/action/id

我怎样才能像普通网站一样拥有它:domain.com/controller.php

有人知道如何禁用它吗?

(使用最新的代码点火器)

如果你讨厌它,你可能还没有准备好跳入像codeigniter这样的框架。像 url 一样休息是一个很大的功能,所以 url 有一些实际含义,而不仅仅是一个指向某物的指针。如果你习惯了像example.com/person.php?id=123&action=seeprofile这样的东西也没关系,而不是example.com./person/profile/123但是你怎么看不到它的美丽呢?你只需要看看一些专家解释为什么你应该这样做,以及为什么其他人都这样做。

编辑:您应该查看文档的此页面,以便了解此强大功能的整洁之处。

http://codeigniter.com/user_guide/general/controllers.html#passingurihttp://codeigniter.com/user_guide/general/routing.htmlhttp://codeigniter.com/user_guide/libraries/uri.html

来自CI文档:http://codeigniter.com/user_guide/general/urls.html

添加网址后缀

在 config/config.php 文件中,您可以指定一个后缀,该后缀将添加到 CodeIgniter 生成的所有 URL 中。例如,如果网址是这样的:

example.com/index.php/products/view/shoes您可以选择添加后缀(如 .html),使页面显示为特定类型:

example.com/index.php/products/view/shoes.html

我不明白你想达到什么目的。您可能会说您"讨厌自定义网址",但这实际上是框架的基本组成部分。工程。

如果你真的不喜欢它们,那么你需要研究路由,以及它在代码点火器上下文中是如何工作的。不使用控制器方法 id 模式有一个非常非常好的论据,我也支持,但事实并非如此。国际化,只是一件事。

无论如何,将文件.php或my-pro-script.php添加到域名与我们(您网站的用户)完全无关,他们不会不关心.php扩展名。你想要这样做的理由是什么?

config.php 文件中有选项enable_query_strings,也许这就是你想要的...可以通过将此选项设置为 TRUE 来启用基于标准查询字符串的 URL。