Я считаю, что причина, почему у меня эта проблема, .htaccess
с .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]
Решаемые.
Я нашел ответ в этом разделе: неправильный заголовок из скрипта. Плохой заголовок = 1: index.php
Несколько недель назад мне пришлось изменить файл REST_controller.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));