我认为我遇到此问题的原因是.htaccess
(虽然它们在离线和在线方面都是相同的)。
http://localhost/myProject/api/webservice/getUsers -> Works
http://myProjectDomain.com/api/webservice/getUsers -> Doesn't work, error: 500 Internal Error
来自根文件夹的.htaccess:
Options -Indexes
Options +FollowSymLinks
# Set the default file for indexes
DirectoryIndex index.php
<IfModule mod_rewrite.c>
# activate URL rewriting
RewriteEngine on
# do not rewrite links to the documentation, assets and public files
RewriteCond $1 !^(index\.php|public|images|robots\.txt)
# do not rewrite for php files in the document root, robots.txt or the maintenance page
RewriteCond $1 !^([^\..]+\.php|robots\.txt)
# but rewrite everything else
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
ErrorDocument 404 index.php
</IfModule>
在我看来,我可能需要创建另一条规则?类似的东西:
RewriteRule ^(.*)$ index.php?/api/webservice/$1 [L]
答案 0 :(得分:0)
<强>解决。强>
我在这个主题中找到了答案:malformed header from script. Bad header=1: index.php
几周前,我不得不更改我的REST_controller.php
文件,以便从网络服务接收大量数据。虽然我发现了一个小错误,但当数据量太大时,它无法完全检索到它。
例如,格式为JSON。
[{data: {'values': '1'}, {'values': '2'}]
现在这个大规模只检索我:
[{data: {'values': '1'}, {'values': '2'
是的,它错过了}]
,因此JSON格式并不好。
所以我改变了一些代码,来自:
header('Content-Length: ' . strlen($output));
为:
header('Content-Length: ' . strlen($output) + 15);
但是我犯了一个基本错误,如果我用打字语言编码,我就不会这样做。 这些值实际上并没有相加,而是连接在一起。解决方案:
header('Content-Length: ' . (strlen($output) + 15));