guanliyang 发表于 2011-5-1 14:08:28

求助,如何处理CI自带的index.php文件

本帖最后由 guanliyang 于 2011-5-1 14:09 编辑

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


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

index.php里应该怎么写,求教。

jeongee 发表于 2011-5-1 14:53:25

看下论坛置顶帖吧,就是那个常见问题解答
这个要用到url rewite,不是index.php能解决的

昨夜渡轮 发表于 2011-5-1 17:48:20

CI是单一入口MVC,好像单一入口都是这个样子吧,只有用到url rewite重写才能解决,而且还要求服务器支持重写。
就是不知道index.php影不影响SEO

guanliyang 发表于 2011-5-1 19:40:11

版主能给你链接不?不好找。

guanliyang 发表于 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/images/common/back.gif

http://codeigniter.org.cn/forums/thread-4-1-1.html

昨夜渡轮 发表于 2011-5-1 20:09:31

apache的服务器


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1
</IfModule>
<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>

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

IIS



# 3600 = 1 hour
CacheClockRate 3600

RepeatLimit 32

# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule /(.*) /index.php\?/$1

将上面的保存为文件httpd.ini上传到程序根目录

guanliyang 发表于 2011-5-1 20:27:44

难道是这个,
RewriteCond %{HTTP_HOST}   !^fully\.qualified\.domain\.name
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*)         http://fully.qualified.domain.name:%{SERVER_PORT}/$1
RewriteCond %{HTTP_HOST}   !^fully\.qualified\.domain\.name
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://fully.qualified.domain.name/$1


学CI必须先学会URL重写?

guanliyang 发表于 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
页: [1] 2 3
查看完整版本: 求助,如何处理CI自带的index.php文件