CodeIgniter能选择不是有伪静态么?
本帖最后由 Closer 于 2014-12-19 16:50 编辑在自己一直用的LNMP环境,都是用里面的wordpress规则就可以了。
开源的程序,给很多人用。
每天都有人搞不定伪静态问题来找我。
要是伪静态功能能自由开关就完美了。
像wordpress和discuz,不用伪静态可以用么?
我不怎么了解,我好像记得是可以在后台控制的。
好像问题比较蠢。
可以的啊。
启用查询字符串,
修改配置文件,
$config['enable_query_strings'] = FALSE;//设置为TRUE
然后url就像这样子咯:index.php?c=controller&m=method
详情请看手册:
http://codeigniter.org.cn/user_guide/general/urls.html
aqxinzhuan 发表于 2014-12-17 17:53
可以的啊。
启用查询字符串,
修改配置文件,
谢谢大神指点。
当场在看这段文档的时候没有注意到。
根据文档的方法正确的启用了查询字符串。
但是遇到一个问题:
函数参数无法传入。
例如:
在Xixi的控制器中有如下函数:
public function test($page)
{
echo $page;
}
然后使用 : http://127.0.0.1/xiximage/index.php?c=xixi&m=test&page=3 进行访问
出现错误:
A PHP Error was encounteredSeverity: WarningMessage: Missing argument 1 for Xixi::test()Filename: controllers/xixi.phpLine Number: 41
A PHP Error was encounteredSeverity: NoticeMessage: Undefined variable: pageFilename: controllers/xixi.phpLine Number: 43
如果你带参数是可以正确访问的。
这是什么问题,有点想不通。
dolphin 发表于 2014-12-18 16:21
谢谢大神指点。
当场在看这段文档的时候没有注意到。
因為你的 page 是用 GET 方式傳
只要用了 ?c=&m= 這種方式
以往的 / 傳參數就會失效
Closer 发表于 2014-12-18 16:42
因為你的 page 是用 GET 方式傳
只要用了 ?c=&m= 這種方式
以往的 / 傳參數就會失效
那这里应该如何处理?
使用查询字符串后
应该如何传递函数的参数呢?
dolphin 发表于 2014-12-18 16:46
那这里应该如何处理?
使用查询字符串后
網址列用 &page=4 的方式
就用 GET 方式接值
//第二參數用來開啟 XSS 過濾,或在 config.php 內開啟全域的 XSS 過濾
$page = $this->input->get('page', TRUE); Closer 发表于 2014-12-18 16:42
因為你的 page 是用 GET 方式傳
只要用了 ?c=&m= 這種方式
以往的 / 傳參數就會失效
我修改为
echo $_GET['page'];
可以得到传入的值了。
dolphin 发表于 2014-12-18 16:49
我修改为
建議能不用就不用原生的 GET 方式
因為 CI 有提供 XSS 過濾防止攻擊
不用白不用 XD Closer 发表于 2014-12-18 16:51
建議能不用就不用原生的 GET 方式
因為 CI 有提供 XSS 過濾防止攻擊
不用白不用 XD ...
好的 谢谢解答。
页:
[1]