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

[已解决] CodeIgniter能选择不是有伪静态么?

[复制链接]
发表于 2014-12-16 11:58:07 | 显示全部楼层 |阅读模式
本帖最后由 Closer 于 2014-12-19 16:50 编辑

在自己一直用的LNMP环境,都是用里面的wordpress规则就可以了。

开源的程序,给很多人用。

每天都有人搞不定伪静态问题来找我。

要是伪静态功能能自由开关就完美了。

像wordpress和discuz,不用伪静态可以用么?

我不怎么了解,我好像记得是可以在后台控制的。

好像问题比较蠢。
发表于 2014-12-17 17:53:35 | 显示全部楼层
可以的啊。
启用查询字符串,
修改配置文件,
$config['enable_query_strings'] = FALSE;//设置为TRUE
然后url就像这样子咯:index.php?c=controller&m=method
详情请看手册:
http://codeigniter.org.cn/user_guide/general/urls.html
 楼主| 发表于 2014-12-18 16:21:50 | 显示全部楼层
aqxinzhuan 发表于 2014-12-17 17:53
可以的啊。
启用查询字符串,
修改配置文件,

谢谢大神指点。

当场在看这段文档的时候没有注意到。

根据文档的方法正确的启用了查询字符串。

但是遇到一个问题:

函数参数无法传入。

例如:

在Xixi的控制器中有如下函数:

PHP复制代码
 
        public function test($page)
        {
                echo $page;
        }
 
复制代码



然后使用 : http://127.0.0.1/xiximage/index.php?c=xixi&m=test&page=3 进行访问

出现错误:

A PHP Error was encountered
Severity: Warning
Message: Missing argument 1 for Xixi::test()
Filename: controllers/xixi.php
Line Number: 41

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: page
Filename: controllers/xixi.php
Line Number: 43

如果你带参数是可以正确访问的。

这是什么问题,有点想不通。

发表于 2014-12-18 16:42:55 | 显示全部楼层
dolphin 发表于 2014-12-18 16:21
谢谢大神指点。

当场在看这段文档的时候没有注意到。

因為你的 page 是用 GET 方式傳
只要用了 ?c=&m= 這種方式
以往的 / 傳參數就會失效
 楼主| 发表于 2014-12-18 16:46:25 | 显示全部楼层
Closer 发表于 2014-12-18 16:42
因為你的 page 是用 GET 方式傳
只要用了 ?c=&m= 這種方式
以往的 / 傳參數就會失效

那这里应该如何处理?

使用查询字符串后

应该如何传递函数的参数呢?
发表于 2014-12-18 16:49:14 | 显示全部楼层
dolphin 发表于 2014-12-18 16:46
那这里应该如何处理?

使用查询字符串后

網址列用 &page=4 的方式
就用 GET 方式接值

//第二參數用來開啟 XSS 過濾,或在 config.php 內開啟全域的 XSS 過濾
$page = $this->input->get('page', TRUE);
 楼主| 发表于 2014-12-18 16:49:49 | 显示全部楼层
Closer 发表于 2014-12-18 16:42
因為你的 page 是用 GET 方式傳
只要用了 ?c=&m= 這種方式
以往的 / 傳參數就會失效

我修改为

PHP复制代码
 
echo $_GET['page'];
 
复制代码



可以得到传入的值了。
发表于 2014-12-18 16:51:07 | 显示全部楼层

建議能不用就不用原生的 GET 方式
因為 CI 有提供 XSS 過濾防止攻擊
不用白不用 XD
 楼主| 发表于 2014-12-18 16:51:45 | 显示全部楼层
Closer 发表于 2014-12-18 16:51
建議能不用就不用原生的 GET 方式
因為 CI 有提供 XSS 過濾防止攻擊
不用白不用 XD ...

好的 谢谢解答。

本版积分规则