求助,如何处理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里应该怎么写,求教。 看下论坛置顶帖吧,就是那个常见问题解答
这个要用到url rewite,不是index.php能解决的 CI是单一入口MVC,好像单一入口都是这个样子吧,只有用到url rewite重写才能解决,而且还要求服务器支持重写。
就是不知道index.php影不影响SEO 版主能给你链接不?不好找。 本帖最后由 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这个文件呢。
大家帮帮忙啊,这个应该是写项目遇到的第一个问题啊,没人看么? 版主能给你链接不?不好找。
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 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上传到程序根目录 难道是这个,
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重写? 回复 7# 昨夜渡轮
您这是给的什么啊,我是想url是http://localhost的时候,显示
我网站的首页,而不是ci的index.php里的内容。 你的目的是想去掉index.php
在不同的服务器下就要用到那二个文件(这二个文件是重写地址),去掉index.php除了要那二个文件外还要设置
$config['index_page'] = "index.php";
改成
$config['index_page'] = "";
在config.php里改,这样即使用site_url()生成的地址也不会带index.php
另外,如果你的服务器不支持URI重写就没法去掉index.php