[英]route not found even if it exist php leaf framework
當我在本地主機上運行項目時,路由運行良好,但是當我導出到共享主機時,它會根據路由/索引中的 404 配置不斷給出 {"data": "Resource not found", "code":404}。 php
我已經使用這個框架托管了一個以前的項目,它至今仍然有效,但我不知道我在這個特定項目中做錯了什么。 我已經用這個交叉檢查了以前的項目配置,沒有區別。
這是 my.env 文件的內容
APP_NAME=LEAF_API
APP_ENV=local
APP_KEY=base64:AUAyDriQD1kFdIbwTHlnCm2pYn+qxDBa55SFwB9PUzg=
APP_DOWN=false
APP_DEBUG=true
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=9jafood
DB_USERNAME=root
DB_PASSWORD=
DB_CHARSET=utf8
DB_COLLATION=utf8_unicode_ci
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
PROD_SERVER=hello
PROD_PORT=22
PROD_USER=leaf
APPLICATION_DIR=leaf
APPLICATION_PATH=leaf
這是我的 .htaccess 文件
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
這是 .htaccess 文件重寫的索引文件
<?PHP
require_once __DIR__ . '/vendor/autoload.php';
\Dotenv\Dotenv::create(__DIR__)->load();
require __DIR__ . "/Config/bootstrap.php";
require __DIR__ . "/Config/functions.php";
Leaf\View::attach(\Leaf\Blade::class);
$app = new Leaf\App(AppConfig());
$app->evadeCors(false);
require __DIR__ . "/App/Routes/index.php";
$app->run();
這是我位於 Route 文件夾中的 index.php 文件
<?php
/**@var Leaf\App $app */
$app->set404(function () {
json("Resource not found", 404, true);
});
$app->setErrorHandler(function ($e = null) use($app) {
if ($e) {
if ($app->config("log.enabled")) {
$app->logger()->error($e);
}
}
json("An error occured, our team has been notified", 500, true);
});
$app->setNamespace("\App\Controllers");
require __DIR__ . "/_route.php";
這是我的路線。php
<?php
$app->group("/merchant", function () use ($app) {
$app->post("/", "VendorsController@index");
$app->get("/delivery/{id}", "VendorsController@cost");
$app->get("/category/{id}", "CategoriesController@index");
});
$app->group("/meal", function () use ($app) {
$app->get("/", "MealsController@index");
$app->post("/search", "MealsController@search");
$app->post("/search/location", "MealsController@searchBasedOnLocation");
});
考慮到日期,這可能真的太晚了,但我只是注意到您需要一個_route.php
文件,但您的文件名看起來像route.php
。
您也可以在 GitHub 的葉子論壇上發布您的問題,以便快速解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.