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

问题描述

当我在我的本地主机上运行项目时,路由完美地工作,但是当我导出到共享主机时,它根据路由中的 404 配置不断提供 {"data": "Resource not found","code":404} /index.PHP

我以前使用这个框架主持过一个项目,现在它仍然有效,但我不知道我在这个特定项目中做错了什么。我已经用这个交叉检查了以前的项目配置,没有区别。

这是我的 .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();

这是我的 index.PHP 文件,位于 Route 文件夹中

    <?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";

这是我的route.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");
   });

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...