用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1806|回复: 7
收起左侧

[版本 3.x] CI 的路径里的index.php为什么不能这样来处理?

[复制链接]
发表于 2016-6-28 10:32:16 | 显示全部楼层 |阅读模式
为什么不把路径里带的index.php这个功能,做成在config.php里的一个开关?需要的时候 on , 不需要的时候off
发表于 2016-6-28 11:39:10 | 显示全部楼层
因為 CI 的設計模式
是以 index.php 為進入點
 楼主| 发表于 2016-6-28 15:02:15 | 显示全部楼层
但是我看大量的人都需要在http://中去掉index.php  
发表于 2016-6-28 15:15:58 | 显示全部楼层
andyzu 发表于 2016-6-28 15:02
但是我看大量的人都需要在http://中去掉index.php

這也許需要反映到 CI 英文官網
不然暫時都只能偽靜態處理了
发表于 2016-6-28 17:16:00 | 显示全部楼层
其他框架都是这么做的。框架入口嘛
发表于 2016-6-29 14:50:35 | 显示全部楼层

去掉 index.php 这个不是由 PHP 决定的,需要 Web 服务器支持,所以你只在 PHP 里做配置没意义。
 楼主| 发表于 2016-6-29 18:24:05 | 显示全部楼层
Hex 发表于 2016-6-29 14:50
去掉 index.php 这个不是由 PHP 决定的,需要 Web 服务器支持,所以你只在 PHP 里做配置没意义。 ...

是通过.htaccess 文件,干嘛不生成一个开关,然后调用不同的 .htaccess ,或生成不同的htaccess 文件呢?
发表于 2016-6-30 14:01:42 | 显示全部楼层
andyzu 发表于 2016-6-29 18:24
是通过.htaccess 文件,干嘛不生成一个开关,然后调用不同的 .htaccess ,或生成不同的htaccess 文件呢? ...

你理解的不是很全面,只有 apache 可以通过 .htaccess 来设置 URL Rewrite(也不是所有 apache 都可以),而 nginx 或其他 Web 服务器就不能这么设置了。所以你没法只通过一个简单的 PHP 配置来做到这个,当然你可以配套一个部署工具来一键做这件事,但这个就不是一个 PHP 框架的事情了,这属于周边工具链。

另外,你应该去了解隐藏 index.php 的原理是什么,至于是如何配置其实是次要的。隐藏 index.php 的本质是 url rewrite,而不同的服务器实现这个功能的方式都是不同的,具体你可以参考每个服务器的 url rewrite 手册。

本版积分规则