CI URI有效删除index.php(完善CI手册)

秉承MVC架构的思想,CI中的所有控制器都需要经过单点入口文件index.php(默认)来加载调用。也就是说,在默认情况下,所有CI开发项目的URL都形如以下这种形式:

http://localhost/index.php/welcome很显然,默认情况下,index.php在URL地址段中的存在一定程度上影响了URL的简洁和SEO的进行。我们可以通过下面本文介绍的方法来去掉这个讨厌的Index.php。

你或许已经注意到在CodeIgniter用户手册中,已经存在关于此问题的解决方法。但官方提供的这个.htaccess配置,并不是所有时候都能解决问题。下面经过笔者调试操作步骤供大家分享:
前提:服务器配置使用Apache作为Web服务器。

1、将以下配置信息复制并保存为.htaccess文件(.htaccess文件放置在根目录下,即与application目录同级),

默认情况下,index.php 文件将被包含在你的 URL 中:

example.com/index.php/news/article/my_article

你可以很容易的通过 .htaccess 文件来设置一些简单的规则删除它。

-----------------------------------------------------------------

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L
-----------------------------------------------------------------

注意:如果你的项目不在根目录请把上面这一句改为:RewriteRule ^(.*)$ index.php/$1 [L] 在上面的例子中,可以实现任何非index.php、images 和 robots.txt 的 HTTP 请求都被指向 index.php。

(第一步操作与CI操作手册中相同)

2、修改完成后我们访问CI默认欢迎页面(http://localhost/welcome)时,会报错,错误信息如下:

--------------------------------------------------------------

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.

--------------------------------------------------------------------------------------

我看了下这里网站里的所有东西都是这样报错,就是图片和TXT也打不开,然后查看了一下程序发现里面有三个文件.htaccess、httpd.ini、nginx.conf,我想应该是这几个家伙在作怪,首先想到的就是.htaccess这个分布文件,将其删除,果断打开网站了,那么找到原因了,把删除了的找回来,去apache里开启.htaccess就好了,下面是开启方法:

在apache配置文件httpd.conf中找到

Options FollowSymLinks
AllowOverride None

有的版本是这样写的

Options FollowSymLinks ExecCGI Indexes
AllowOverride None

总之不管怎么写,你只需要把下面的

AllowOverride None改为AllowOverride All

然后在找到

LoadModule rewrite_module modules/mod_rewrite.so

把这个前面的“#”号去掉,就是去掉注释,然后重启apache.搞定!

时间: 2024-10-22 05:28:40

CI URI有效删除index.php(完善CI手册)的相关文章

CI框架基本配置/教你学习CI框架codelgniter

CI框架基本配置/教你学习CI框架codelgniter 摘要:CI 框架现在中国可以说还是不成熟,不像thinkphp那样有那么多的中文手册,在国内,很多国人英语都很烂,CI现在教程还是不多.大家心里都存在这严重想法... CI 框架现在中国可以说还是不成熟,不像thinkphp那样有那么多的中文手册,在国内,很多国人英语都很烂,xiguajunCI现在教程还是不多.大家心里都存在这严重 想法,西瓜君我想用CI,国外用的人很多,而且速度非常快,而且敏捷开发!但是一用起来就不是那么回事儿了,很多

ci的url去除index.php

wamp: httpd-vhost.conf <VirtualHost *:80> ServerName localhost ServerAlias localhost #DocumentRoot "${INSTALL_DIR}/www" #<Directory "${INSTALL_DIR}/www/"> DocumentRoot "C:\JabinDoc\php_www" <Directory "C:\

lnmp 设置ci pathinfo和去掉index.php

LNMP上各个版本pathinfo各个版本的设置基本一样: lnmp v1.1上,修改对应虚拟主机的配置文件去掉#include pathinfo.conf前面的#,把try_files $uri =404; 前面加上# 注释掉. 1.2,1.3上,修改对应虚拟主机的配置文件将include enable-php.conf;替换为include enable-php-pathinfo.conf; 修改pathinfo需要重启nginx生效. 去掉 index.php location / {  

CI框架从哪里看起?CI框架怎么开始学习,CI的初始设置

很多朋友不知道CI框架从哪里开始学起,想学一个新的框架其实并不难.只要你认真研究,自习摸索都很简单! 概述和基本配置参数 配置CI: application/config/config.php:14配置你的域名 application/config/database.php:40配置你数据库的相关参数 配置基于htaccess的重定向 RewriteEngine on RewriteCond $1 !^(index?.php|images|robots?.txt) RewriteRule ^(.

CI框架源码阅读笔记9 CI的自动加载机制autoload

本篇并不是对某一组件的详细源码分析,而只是简单的跟踪了下CI的autoload的基本流程.因此,可以看做是Loader组件的分析前提. CI框架中,允许你配置autoload数组,这样,在你的应用程序初始化时,会自动加载相应的类库,例如,在application/config/autoload.php中,autoload的配置如下: $autoload['libraries'] = array("smarty", "redis"); 则CI框架初始化时,会自动加载l

elasticsearch-5.6.1删除index下的某个type

由于elasticsearch-5.6.1不支持type直接删除,只能删除数据. 执行命令: curl -H "Content-Type: application/json" -XPOST "http://localhost:9200/test_index/test_type/_delete_by_query?conflicts=proceed&pretty" -d ' { "query": { "match_all"

CI框架 .htaccess 隐藏url中index.php的解决

CodeIgniter(以下简称"CI")是一款国外优秀的PHP轻量级MVC框架,它支持PHP4和PHP5,是开发中小型可拓展性需求高的Web应用程序的利器.目前你所见到的这个博客程序,正是采用CI进行的编写. 秉承MVC架构的思想,CI中的所有控制器都需要经过单点入口文件index.php(默认)来加载调用.也就是说,在默认情况下,所有CI开发项目的URL都形如以下这种形式: http://localhost/index.php/blog/logs/this_is_a_test_en

【铜】第174-9篇 一对一视频录制(九)一对多学生端删除白板及nginx下配CI

关键词:webm文件在手机端播放, 一对多学生端删除白板, nginx下配CI 一.一对一视频录制 1.1.webm文件在手机端播放 1)在PC上 a.)用谷歌浏览器播放 http://123.57.206.36:8014/uploads/177013288141499069939723.webm 2)手机端播放 二.一对多 2.1 网址 1)备份上 老师端:https://123.57.206.36:9101/demos/index.html?roomid=888&teaNameMobile=

CI框架 .htaccess 隐藏url在index.php解决方案

CodeIgniter(下面简称"CI")是一款国外优秀的PHP轻量级MVC框架,它支持PHP4和PHP5.是开发中小型可拓展性需求高的Web应用程序的利器.眼下你所见到的这个博客程序,正是採用CI进行的编写. 秉承MVC架构的思想,CI中的全部控制器都须要经过单点入口文件index.php(默认)来载入调用. 也就是说.在默认情况下,全部CI开发项目的URL都形例如以下面这样的形式: http://localhost/index.php/blog/logs/this_is_a_tes