如果我有这样的网址:
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。