Raspberry PI-Slim API不适用于路由


Raspberry PI - Slim API not working with Routes

我正试图用Slim Framework在Raspberry PI模型B上构建一些Rest api。问题是,当我运行/route时一切正常,当我尝试运行/test-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瘦应用程序:

<?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配置(签入/etc/apache2/)需要为文件所在的目录(/var/www/html/var/www/html/apiAllowOverride FileInfoAllowOverride All)。否则,apache将忽略.htaccess并尝试查找名为test的文件夹或文件。请参阅文档。