簡體   English   中英

即使存在也找不到路由 php 葉框架

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM