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

[已解决] 求助,如何处理CI自带的index.php文件

  [复制链接]
发表于 2011-5-1 14:08:28 | 显示全部楼层 |阅读模式
本帖最后由 guanliyang 于 2011-5-1 14:09 编辑

我用的CI2.0.2最新版本。
测试的时候很正常,我也没想去掉URL里面的index.php。
ci解压后里面有个index.php文件,这个不能删,里面有系统配置。
但访问的时候,就会出现CI这个index.php文件的内容。如 未命名.jpg

2.jpg
我总不能把index.php/home当网址吧。

index.php里应该怎么写,求教。
发表于 2011-5-1 14:53:25 | 显示全部楼层
看下论坛置顶帖吧,就是那个常见问题解答
这个要用到url rewite,不是index.php能解决的
发表于 2011-5-1 17:48:20 | 显示全部楼层
CI是单一入口MVC,好像单一入口都是这个样子吧,只有用到url rewite重写才能解决,而且还要求服务器支持重写。
就是不知道index.php影不影响SEO
 楼主| 发表于 2011-5-1 19:40:11 | 显示全部楼层
版主能给你链接不?不好找。
 楼主| 发表于 2011-5-1 20:00:37 | 显示全部楼层
本帖最后由 guanliyang 于 2011-5-1 20:29 编辑

什么是url rewite啊,不会是让我改httpd.conf里面的这个吧,。
<IfModule dir_module>
    DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>

我租的服务器,怎么可能拿到httpd.conf这个文件呢。
大家帮帮忙啊,这个应该是写项目遇到的第一个问题啊,没人看么?
发表于 2011-5-1 20:00:57 | 显示全部楼层
版主能给你链接不?不好找。
guanliyang 发表于 2011-5-1 19:40


http://codeigniter.org.cn/forums/thread-4-1-1.html
发表于 2011-5-1 20:09:31 | 显示全部楼层
apache的服务器

PHP复制代码
 
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>
 
复制代码

将上面这段保存为 .htaccess文件上传到你程序的根目录

IIS
PHP复制代码
 
[ISAPI_Rewrite]
 
# 3600 = 1 hour
CacheClockRate 3600
 
RepeatLimit 32
 
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule /(.*) /index.php\?/$1 [I,L]
 
复制代码

将上面的保存为文件httpd.ini上传到程序根目录
 楼主| 发表于 2011-5-1 20:27:44 | 显示全部楼层
难道是这个,
RewriteCond %{HTTP_HOST}   !^fully\.qualified\.domain\.name [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*)         http://fully.qualified.domain.name:%{SERVER_PORT}/$1 [L,R]
RewriteCond %{HTTP_HOST}   !^fully\.qualified\.domain\.name [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://fully.qualified.domain.name/$1 [L,R]


学CI必须先学会URL重写?
 楼主| 发表于 2011-5-1 20:50:07 | 显示全部楼层
回复 7# 昨夜渡轮


    您这是给的什么啊,我是想url是http://localhost的时候,显示
我网站的首页,而不是ci的index.php里的内容。
发表于 2011-5-1 21:21:55 | 显示全部楼层
你的目的是想去掉index.php
在不同的服务器下就要用到那二个文件(这二个文件是重写地址),去掉index.php除了要那二个文件外还要设置
$config['index_page'] = "index.php";
改成
$config['index_page'] = "";
在config.php里改,这样即使用site_url()生成的地址也不会带index.php
另外,如果你的服务器不支持URI重写就没法去掉index.php

本版积分规则