gpt4 book ai didi

php - url 编码的正斜杠破坏了我的 codeigniter 应用程序

转载 作者:行者123 更新时间:2023-12-03 00:09:47 27 4
gpt4 key购买 nike

我正在尝试创建一个像这样工作的网址字符串:

/app/process/example.com/index.html

换句话说,

/app/process/$URL

然后我用

检索网址
$this->uri->segment(3);

URL 中的正斜杠当然会在访问 uri 段时出现问题,因此我将继续对 URL 部分进行 url 编码:

/app/process/example.com%2Findex.html

..但现在我只收到 404 消息...

Not Found

The requested URL /app/process/example.com/index.html was not found on this server.

看来我的正斜杠 url 编码破坏了 CI 的 URI 解析器。

我该怎么做才能解决这个问题?

最佳答案

我认为您收到的错误消息不是来自 codeigniter,而是来自您的网络服务器。

我使用 Apache2 复制了这个,甚至没有使用 CodeIgniter:我创建了一个文件 index.php,然后访问 index.php/a/b/c - 它工作得很好。如果我随后尝试访问 index.php/a/b/c%2F,我会收到来自 Apache 的 404 错误。

我通过添加到我的 Apache 配置中解决了这个问题:

允许EncodedSlashes打开

参见the documentation了解更多信息

完成此操作后,如果仍然无法正常工作,您可能需要在 codeigniter 中摆弄 $config['permissed_uri_chars'] - 您可能会发现斜杠被过滤掉了

关于php - url 编码的正斜杠破坏了我的 codeigniter 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/311801/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com