CodeIgniter RESTful работает в автономном режиме, но не в сети

0

Я считаю, что причина, почему у меня эта проблема, .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]
Теги:
codeigniter
rest
.htaccess

1 ответ

0
Лучший ответ

Решаемые.

Я нашел ответ в этом разделе: неправильный заголовок из скрипта. Плохой заголовок = 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));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню