如果我有这样的网址:
http://localhost/Cool Website/
我会收到这个错误:
404 Page Not Found: The page you requested was not found: Cool Website/index
但是,当我使用下划线时http://localhost/Cool_Website/
CodeIgniter 按预期加载。在将 CodeIgniter 文件夹作为子文件夹粘贴到我们的主项目中后,这个问题现在就显现出来了,该项目的名称中有空格,我无法更改。(我可以并且已经将 CodeIgniter 项目的名称更改为使用下划线)
有解决方法吗?
更新:通过更改系统文件解决了我的问题。我正在运行 php 5.3.13。
我转到 URI 核心文件并将其放在 _parse_request_uri 中:
$uri = str_replace('%20', ' ', $uri);
在第 206 行,之后$uri = isset($uri['path']) ? $uri['path'] : '';
这似乎已经解决了。因为 QUERY_STRING 是空的,所以我在配置文件中恢复了对 QUERY_STRING 的更改。这可能是 CodeIgniter 3.0 的错误。我的猜测是 20% 未被 uri 代码“视为有效”,因此将其更改回真实空间使其再次工作,因为它确实是正确的 URL。