Я использую PHP codeigniter и chriskacerguis / codeigniter-restserver.
Моя структура каталогов, как показано ниже
├───cache
├───config
├───controllers <-- api.php
│ └───api
├───core
├───helpers
├───hooks
├───language
│ ├───bulgarian
│ ├───english
│ └───portuguese-brazilian
├───libraries
├───logs
├───models
├───third_party
└───views
└───errors
├───cli
└───html
мой .htaccess, как показано ниже
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
<IfModule mod_headers.c>
Header set Cache-Control "no-cache, no-store, must-revalidate"Header set Pragma "no-cache"Header set Expires 0
</IfModule>
Я отредактировал мою запись в config.php
$config['index_page'] = 'index.php';
На моем локальном ноутбуке все работает идеально.
Когда я переместил свой код на сервер, он не работал.
например, URL доступа, как http://www.example.com/pal/api/class/
-получение 404
в то время как, если я делаю локально: http://localhost:88/pal/api/class/
возвращая мой вывод JSON
Я заметил, в лог-файл на сервере (не на локальном) URL-адрес на самом деле рендеринга, как http://www.example.com/pal/api/class/index
Я предполагаю, что / индекс в конце URL вызывает проблемы.
Кто-нибудь может подсказать как это исправить?
Я отсканировал и очистил все хардкорные «localhost» в моем коде, прежде чем перейти на сервер …
**my **routes.php** is as below**
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
Задача ещё не решена.
Других решений пока нет …