Я пытаюсь создать API-интерфейс Rest на Raspberry PI Model B с Slim Framework. Проблема в том, что когда я запускаю / route все работает нормально, когда я пытаюсь запустить / тестировать маршрут, у меня 404.
Я думаю, что есть некоторые проблемы с правилом .htaccess и rewrite, это моя структура API:
var/www/html/ is the root
--api
--libs
--Slim
--index.php
--.htaccess
и это мой файл .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [PT,L]
и это мое приложение index.php slim:
<?php
require '/var/www/html/api/libs/Slim/Slim.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
$app->get('/', function() use($app) {
echo "Root";
});
$app->get('/test', function() use($app) {
echo "test";
});
$app->run();
?>
заранее спасибо
Решение:
Я отредактировал файл в etc / apache2 / apache2.config, изменив эти строки
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None <----- this to All
Require all granted
</Directory>
затем перезапустить apache2 с
sudo service apache2 restart
и мне понадобится также эта строка
sudo a2enmod rewrite
спасибо @ T0xicCode
Ваша конфигурация apache (проверьте в / И т.д. / apache2 /) нужно иметь AllowOverride FileInfo
или же AllowOverride All
для каталога, где находятся ваши файлы (/ Var / WWW / HTML или же / Var / WWW / HTML / API). В противном случае Apache будет просто игнорировать .Htaccess и попробуйте найти папку или файл с именем test
, Увидеть документация.
Других решений пока нет …