Ich versuche, eine Entwicklungsumgebung unter Windows mit Xampp 5.6.23 einzurichten.Restler 404 Fehler Routes.php: 431 mit Xampp
Ich habe eine API Ich möchte 3.0.0 mit Restler einzurichten, so dass ich auf http://localhost/api/cars/search?term=red
durchsuchen können die search($term)
Funktion in der C:\xampp\htdocs\api\cars.php
Datei aufzurufen:
<?php
class cars{
public function search($term) {
// do search...
return $result;
}
}
Ich habe auch ein C:\xampp\htdocs\api\index.php
eingerichtet mit :
<?php
require_once 'vendor/autoload.php';
require_once 'vendor/luracast/restler/vendor/restler.php';
use Luracast\Restler\Restler;
Defaults::$crossOriginResourceSharing = true;
$r = new Luracast\Restler\Restler();
$r->setCompatibilityMode('2');
$r->setSupportedFormats('JsonFormat', 'XmlFormat', 'JsFormat');
Luracast\Restler\Format\JsonFormat::$unEscapedUnicode = false;
$r->addAPIClass('cars');
$r->addAPIClass('Luracast\\Restler\\Resources');
$r->handle(); //serve the response
und C:\xampp\htdocs\api\.htdocs
:
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^$ index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
<IfModule mod_php5.c>
php_flag display_errors On
</IfModule>
Aber wenn ich an jede URL gehen (/
oder /cars
) bekomme ich einen 404-Fehler:
<response>
<error>
<code>404</code>
<message>Not Found</message>
</error>
<debug>
<source>Routes.php:431 at route stage</source>
<stages>
<success>get</success>
<failure>route</failure>
<failure>negotiate</failure>
<failure>message</failure>
</stages>
</debug>
</response>
ich mehrere Antworten von SO aber keine haben in meinem Fall gearbeitet versucht haben. Ich habe LoadModule rewrite_module modules/mod_rewrite.so
unkommentiert und setze AllowOverride All
überall dort, wo ich es in httpd.conf
finden konnte. Ich habe auch versucht, alles auf htdocs
statt eines Unterordners zu verschieben, aber immer noch das gleiche Ergebnis.
Leider bekomme ich immer noch eine 404 XML-Antwort. Mein Ziel ist es, nach 'http: // localhost/api/cars/search? Term = red' zu suchen, was die 'search()' Funktion mit dem '$ term' Parameter aufrufen wird, der' rot' entspricht und die Funktion dann rot findet Auto zeichnet auf und gibt ein XML-Ergebnis zurück. – Jake