로컬 서버에 Restler를 설치하여 프로젝트에 대한 일부 API를 테스트하고 만들었습니다.Restler는 항상 404를 반환합니다. 찾을 수 없음
API 요청은 http://localhost/myproject/api/
을 통해 처리됩니다.
RewriteEngine on
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^api(.*)$ /myproject/api/api.php [QSA,L]
그리고 이것은 api.php
의 모습입니다 :
{
"error": {
"code": 404,
"message": "Not Found"
},
"debug": {
"source": "Routes.php:383 at route stage",
"stages": {
"success": [
"get"
],
"failure": [
"route",
"negotiate",
"message"
]
}
}
}
또한이 내 .htaccess
입니다 :
문제는 내가 다음과 같은 오류가 요청을하려고 매번 것입니다 :
namespace myproject;
use Luracast\Restler\Restler;
require_once($_SERVER["DOCUMENT_ROOT"]."/myproject/resources/engine/settings.php");
require_once(Settings\Path\Absolute::$library."/restler/vendor/restler.php");
$restler = new Restler();
$restler->addAPIClass("myproject\\User");
$restler->handle();
내가 잘못 생각하는 부분이 있습니다. 주위에 있지만, 나는 무엇이 잘못되었는지를 정말로 알 수 없다.
는 (나는 또한 유래에 대한 몇 가지 솔루션을 시도했지만 그들은 나를 위해 작동하지 않는 것)편집 :
나는 다음과 같은 경로http://localhost/myproject/resources/engine/library/restler/public/examples
를 사용하여 예를 도달 시도
그들이 최선을 다하고 있습니다 , 그래서 그것은 http://localhost/myproject/api
에서 작동하지 않는 것 때문에 그것은 Restler 자체의 구성과 관련이 있다고 생각합니다.
또한 Restler 탐색기를 http://localhost/myproject/api/explorer
에 복사하려고 시도했는데 오류가 계속 나타납니다. 404 : Not Found ../resources.json
아마도 내 프로젝트의 루트 폴더에 Restler를 설치하지 않았기 때문일 수 있습니다. Restler를 다른 하위 폴더에 설치하려면 어떻게해야합니까?
편집 2 : 난 그냥 예제로 001 폴더에 다음과 같은 클래스를 이동 :
class User {
function data() {
return "HELLO!";
}
}
및 예제의 index.php
내부에이 줄을 추가 :
$r->addAPIClass('User');
내가하려고하면 .../_001_helloworld/index.php/say/hello
에서 예제를 실행하려면 문제없이 작동하지만, 시도하면 _001_helloworld/index.php/user/data
이 아닙니다. 이 시점에서
나는 모든 희망을 잃고 난 정말 도움 '원인을 필요 정말 내가 뭔가를보고 싶어하지만, 정말 추측 할 수있는 :(HELP! 여기
에 무슨 잘못 찾아 낸다 모든 경로 정보를 나열 캐시 폴더에 routes.php를 생성합니다 나는 처음 2 단계를 따라 갔고 문제가 해결되었습니다. 고마워, 정말 고마워. :) – siannone
나는 비슷한 문제가있다. 어제 모두 작동했는데 Restler에서 404 메시지를 받기 시작했습니다. 웹 서버 구성이 변경되지 않았습니다. index.php를 통해 이동하면 index.php를 사용하거나 사용하지 않고 동일한 방법으로 routes.php 파일을 만듭니다. –
제 의견을 무시하십시오. 잘못된 URL을 사용하고 있습니다. Doh –