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

[HELP] 发扬新手不懂就问的精神,再问个URL问题!

[复制链接]
发表于 2009-7-30 11:18:44 | 显示全部楼层 |阅读模式
如下:
www.XXX.com/index.php/A_control/B

这个连接是控制器A中的B函数!

可是,我想把域名改成

www.XXX.com/index/A_control/B


可以吗?

也就是index.php把.php这个后辍去掉?
应该怎么办?
请各位高高解答下,谢谢!~
发表于 2009-7-30 11:29:11 | 显示全部楼层
index.php 去掉 .php ?这应该可以,就是一个 URL Rewrite 规则而已,不过我没这么做过。
一般就是去掉 index.php 而已。
 楼主| 发表于 2009-7-30 13:23:53 | 显示全部楼层
嗯,明解了!
发表于 2009-7-30 16:38:24 | 显示全部楼层
摆渡一下
 楼主| 发表于 2009-7-30 18:05:08 | 显示全部楼层
那应该怎么样把  index.php去掉呢?我也知是用url重写。建一个.htaccess文件进行匹配,可是
http://www.XXX.com/index.php/A_control/B

去掉了后就应该变成:http://www.XXX.com/A_control/B
这样就链接不了了。怎么解决呢?

还有一个问题就是:
当输入网址http://www.XXX.com/index.php/       (注意index.php后多一条 / )

就会弹出错误!为什么?这个问题又如何解决?
会弹出这样的错误:
A PHP Error was encountered
Severity: Notice

Message: Undefined offset: 0

Filename: libraries/Router.php

Line Number: 201




请各位高高解决下,谢谢!
发表于 2009-7-30 23:29:13 | 显示全部楼层
第一个问题:如果 URL Rewrite 写对了,就不会出现链接不了的情况,请贴出你的 rewrite 规则。
第二个问题,只输入斜杠,本身就是错误的,楼主应该在控制器的方法中加上参数默认值。
 楼主| 发表于 2009-8-1 13:45:55 | 显示全部楼层
Hex大哥,我真的搞郁闷了。你帮我看看。之前在phpchina那边你也回答过我这问题,可是到现在都没解决,你说域名中index.php文件去不去除得掉都没所谓。我并不是执意想去掉,可是,这问题解决不了,我心里也不舒服,我看了一天,就没搞出问题在哪。问了人家服务员,他们也说他们的空间开了mod_rewrite的,说什么基于PW和DZ的。你看我的文件如图片一样:




.htaccess的写法是这样的:

RewriteEngine on
RewriteCond $1 !^(index.php|styles|system|phpmyadmin|fckeditor|images|css|flash1.swf|flash2.swf)
RewriteRule ^(.*)$ /index.php/$1 [L]

然后在config/config.php设置里也设了  
$config['index_page'] = "";

原来没设置config/config.php文件时,连接是正常的。可是设了后,再点连接就不行了。



还有之前你说说过,
解决
www.XXX.com/index.php/出错的办法是在控制器里加默认参数!。这个我不是很懂,可否举个例子。

这些问题我把手册都翻了好几次了,就是不知怎么解决!
 楼主| 发表于 2009-8-1 13:51:43 | 显示全部楼层
还有,我看了我朋友写的一个CMS,也是CI写的。
他的控制器里也没你说的什么默认参数,那为什么他的没出错?
我甚至照着他写,我还是出错!能检查的地方都检查了!
发表于 2009-8-1 14:51:42 | 显示全部楼层
好多问题,我也无法帮你解答,因为服务器环境不同,我所写的去掉 index.php 的文章,是在我的环境下可行的。
关于 index.php/ 这种,不要输入这种 URL 就可以了。这不排除 CI BUG 的可能性。

PS: 你的图片看不到。为什么不行?你也没说到底出现了什么错误?是 404 错误?那要看是什么 404 错误。

本版积分规则