Windows에서 xampp 5.6.23을 사용하여 개발 환경을 설정하려고합니다.Restler 404 오류 Routes.php : 431 with xampp
<?php
class cars{
public function search($term) {
// do search...
return $result;
}
}
나는 또한 C:\xampp\htdocs\api\index.php
함께 설정이 있습니다
나는 내가 C:\xampp\htdocs\api\cars.php
파일의 search($term)
함수를 호출 그래서 http://localhost/api/cars/search?term=red
를 검색 할 수 Restler 3.0.0로 설정하려는 API를 :
<?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>
내가 SO에서 여러 답변을 시도했지만 아무도 내 인스턴스에서 일하지 않은
<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>
: 내가 어떤 URL (/
또는 /cars
)에 가면
는하지만 404 오류가 발생합니다. 내가 httpd.conf
에서 찾을 수있는 LoadModule rewrite_module modules/mod_rewrite.so
을 주석 처리하고 AllowOverride All
을 어디에나 둘 수 있습니다. 나는 또한 모든 것을 하위 폴더 대신에 htdocs
으로 옮겨 보았지만 같은 결과를 얻는다.
죄송합니다. 저는 여전히 404 XML 응답을 받았습니다. 내 목표는'$ term' 매개 변수가'red'와 같으면서'search()'함수를 호출 할'http : // localhost/api/cars/search? term = red'를 찾아보고, 자동차 기록 및 XML 결과를 반환합니다. – Jake