Tôi đã cài đặt Trình phục hồi trên máy chủ cục bộ của mình để kiểm tra và tạo một số API cho dự án của tôi.Trình khôi phục luôn trả về 404: Không tìm thấy
Yêu cầu api được xử lý qua http://localhost/myproject/api/
.
Vấn đề là mỗi lần tôi cố gắng để thực hiện một yêu cầu tôi nhận được lỗi sau:
{
"error": {
"code": 404,
"message": "Not Found"
},
"debug": {
"source": "Routes.php:383 at route stage",
"stages": {
"success": [
"get"
],
"failure": [
"route",
"negotiate",
"message"
]
}
}
}
Ngoài ra đây là của tôi .htaccess
:
RewriteEngine on
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^api(.*)$ /myproject/api/api.php [QSA,L]
Và đây là những gì api.php
trông giống như:
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();
Tôi đoán có một số cấu hình sai tion xung quanh, nhưng tôi thực sự không thể tìm ra những gì sai.
(Tôi cũng đã cố gắng một số giải pháp về Stackoverflow nhưng họ dường như không làm việc cho tôi)
Edit:
tôi đã cố gắng đạt dụ bằng cách sử dụng đường dẫn sau http://localhost/myproject/resources/engine/library/restler/public/examples
và họ đang làm việc , vì vậy tôi đoán nó đã làm với cấu hình của Restler chính nó bởi vì nó không có vẻ làm việc trong http://localhost/myproject/api
.
Hơn nữa, tôi cũng đã thử sao chép Trình thám hiểm Restler trong http://localhost/myproject/api/explorer
và tôi tiếp tục nhận được lỗi: 404 : Not Found ../resources.json
có thể vì tôi không cài đặt Trình khôi phục trong thư mục gốc của dự án. Làm thế nào tôi phải cài đặt Restler trong một thư mục con khác?
Chỉnh sửa 2: Tôi vừa chuyển lớp sau vào ví dụ 001 thư mục:
class User {
function data() {
return "HELLO!";
}
}
và thêm dòng này bên trong index.php
của ví dụ:
$r->addAPIClass('User');
Nếu tôi cố gắng để chạy ví dụ tại .../_001_helloworld/index.php/say/hello
nó hoạt động mà không có vấn đề nhưng nếu tôi thử _001_helloworld/index.php/user/data
nó không phải là.
Tại thời điểm này tôi đã mất tất cả hy vọng và tôi thực sự cần sự giúp đỡ vì thực sự tôi đang thiếu một cái gì đó nhưng thực sự không thể đoán những gì :(HELP!
Tôi đã làm theo 2 bước đầu tiên và giải quyết được vấn đề. Cảm ơn bạn, tôi thực sự đánh giá cao sự giúp đỡ của bạn :) – siannone
Tôi đang gặp vấn đề tương tự. Đó là tất cả các hoạt động ngày hôm qua, sau đó tôi bắt đầu nhận được thông điệp 404 từ Restler. Không có cấu hình máy chủ web nào của tôi thay đổi. Đi qua index.php hoạt động, và đi theo cách đó hoặc không có index.php tạo tệp routes.php giống hệt nhau trong cả hai trường hợp. –
Vui lòng bỏ qua nhận xét của tôi; Tôi đã sử dụng URL sai .. Doh –