Windowsでxampp 5.6.23を使用して開発環境をセットアップしようとしています。Restler 404エラーRoutes.php:431 with xampp
私は私がC:\xampp\htdocs\api\cars.php
ファイルにsearch($term)
関数を呼び出すためにhttp://localhost/api/cars/search?term=red
を参照できるようにRestler 3.0.0で設定したいAPIがあります。私もで設定C:\xampp\htdocs\api\index.php
を持って
<?php
class cars{
public function search($term) {
// do search...
return $result;
}
}
を:
<?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
と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>
しかし、私は任意のURL(/
または/cars
)に行けば、私は404エラーを取得:
<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>
私はSOから複数回答を試してみましたが、どれも私の場合で働いていません。私はLoadModule rewrite_module modules/mod_rewrite.so
のコメントを外してhttpd.conf
でそれを見つけることができるどこにでもAllowOverride All
を設定しました。私はまたサブフォルダの代わりにhtdocs
に私のすべてを動かしてみましたが、同じ結果を得ています。
申し訳ありません申し訳ありませんが、まだ404のXML応答があります。私の目標は、 '$ term'パラメータが' red'に等しい 'search()'関数を呼び出す 'http:// localhost/api/cars/search?term = red'を参照することです。 carレコードを返し、XML結果を返します。 – Jake