【问题标题】:CodeIgniter disallowed characters using QUERY_STRING uri protocolCodeIgniter 不允许使用 QUERY_STRING uri 协议的字符
【发布时间】:2013-02-01 00:54:32
【问题描述】:

我一直在做一个项目,并在 localhost 以及免费的 Web 服务器上对其进行了测试,并且运行良好。但是,当我拥有自己的域和网络托管服务时,该网站停止工作。

为了让它工作,我必须将 RewriteRule 更改为

    RewriteRule ^(.*)$ /index.php?$1 [L]

然后设置

    $config['uri_protocol'] = 'QUERY_STRING';

但是,像这样的链接;

    http://www.mydomain.com/ajax/membersearch/anemail%40here.com

以前可以工作,但现在它返回一个 CI 错误,提示“您提交的 URI 包含不允许的字符。”

在我不得不更改 RewriteRule 和 uri_protocol 之前,这非常有效,所以我想知道是什么导致它现在不起作用,以及如何修复它?

【问题讨论】:

    标签: ajax codeigniter query-string encodeuricomponent


    【解决方案1】:

    您可能需要更新 config.php 文件。将默认允许的字符设置替换为以下行:

    $config['permitted_uri_chars'] = 'a-z 0-9~%\.\:_\+-,';
    

    【讨论】:

    • 等待... % 和 .默认情况下...让我检查一下
    • 我的假设是您可能希望将 uri_protocol 设置回 PATH_INFO - 您可以添加?和 = 如果您还需要查询字符串,则将其放入允许的字符中,尽管我从未尝试过使用 CI。通常我在使用参数时不需要查询字符串 URI。
    猜你喜欢
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 2015-06-29
    • 2013-12-10
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多