2016-08-08 4 views
2

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に私のすべてを動かしてみましたが、同じ結果を得ています。

答えて

0

index()機能はありませんが、クラスcarsにはsearch()機能しかありませんので、/cars/search/termにアクセスする必要があります。

他の目標を達成しようとしていますか?

+0

申し訳ありません申し訳ありませんが、まだ404のXML応答があります。私の目標は、 '$ term'パラメータが' red'に等しい 'search()'関数を呼び出す 'http:// localhost/api/cars/search?term = red'を参照することです。 carレコードを返し、XML結果を返します。 – Jake