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

解决codeigniter on IIS rewrite问题--静态文件也无问题。

    [复制链接]
发表于 2009-11-20 15:23:01 | 显示全部楼层 |阅读模式
本帖最后由 madwolfs 于 2009-11-20 15:26 编辑

鬼使神差 老板弄了个 iis的空间。
我那个汗啊。
本来codeigniter的.htaccess文件是这么写的。
######################
RewriteEngine on
RewriteCond $1 !^(index\.php|imgs|css|js|upload|robots\.txt|[a-z_0-9]{1,}\.html)
#上面一行是使用下面一条 重写规则 条件,也就是是说当$1不是 以上列出来的文件或者访问目录的时候才去 rewrite
RewriteRule ^(.*)$ /index.php/$1 [L]
#上面这行我就不说了,把请求都交给index.php去处理。
#############################
然后我把 这些内容复制到 http.ini下 不行。现象为全部都rewrite了。都交给index.php去了。
于是乎我就开始修改RewriteCond 这一句,千改万改都不成功啊。
于是我开始上E文google了,开始漫漫外文搜索路途。
终于在http://www.rampage-online.net/articles/codeigniter-on-iis 找到了。
################
[ISAPI_Rewrite]
RewriteRule /(?:css|img)/(.*) $0 [I,L]
#上面一句的意思是 判断是不是请求css目录或者img目录的,如果是就 $0 我猜测这个$0代表原请求地址的意思。就是让你请求的地址。
RewriteRule /robots\.txt $0 [I,L]
#这个也一样。
RewriteRule /(.*) /index.php\?/$1 [I,L]

#这句就不用说了,把能不符合上两句的都rewrite到index.php去
###########################
所以只要我这样改
RewriteRule /(?:imgs|css|js|upload)/(.*) $0 [I,L]
就可以了。
语言拙劣,术语不专业,希望大家能看明白,再就是希望高手能够海涵,或许是班门弄斧了。:)

评分

参与人数 1威望 +5 收起 理由
Hex + 5 原创内容

查看全部评分

发表于 2009-12-13 10:04:04 | 显示全部楼层
留个位日后好查.
发表于 2010-7-9 15:28:51 | 显示全部楼层
小弟按照这个方法解决了,拜谢!
发表于 2011-2-9 09:47:31 | 显示全部楼层
好东西,解决了IIS的rewrite~~
发表于 2011-2-9 09:53:39 | 显示全部楼层
好,收起来
发表于 2011-2-23 14:45:57 | 显示全部楼层
感谢了。即使我依然搞不定服务器上的index.php
发表于 2011-4-12 16:15:51 | 显示全部楼层
拜谢楼主
发表于 2012-3-7 17:57:22 | 显示全部楼层
{:soso_e179:}楼主给力!困扰两天的问题被解决了,顶,好贴。
发表于 2012-4-1 00:38:27 | 显示全部楼层
留言mark,明天研究。。。。我就遇到这个问题。。。
发表于 2012-8-5 19:51:43 | 显示全部楼层
感谢楼主啊,困扰多时的问题解决啦!

本版积分规则