【问题标题】:php slim app not redirecting to index.php if specified route does not exist如果指定的路由不存在,php slim 应用程序不会重定向到 index.php
【发布时间】:2020-05-19 07:30:18
【问题描述】:

我刚刚完成了设置 php slim 应用程序的installation 指南。一切正常,除非用户指定应用程序中不存在的 url,他没有被重定向到 index.php。

我认为这与位于公共目录而不是项目根目录中的 index.php 有关。

我的文件结构如下:

-公开
----.htaccess
----index.php
-src
-供应商
----作曲家
----无花果
----尼克
----psr
----拉鲁菲
----苗条

我的 .htaccess 文件包含以下内容:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

Allow from all

顺便说一句,当我指定一条不存在的路线时,我会得到一个 Slim\Exception\HttpNotFoundException 异常。这是有道理的,因为路线不存在。但它应该重定向到 index.php

【问题讨论】:

    标签: php apache .htaccess slim-4


    【解决方案1】:

    我阅读了文档并指出,slim 有一个notFound 方法,当404 出现错误时会调用该方法,所以它会对您有所帮助:

    $app = new \Slim\Slim();
    $app->notFound(function () use ($app) {
        $app->render('index.html');
    });
    

    【讨论】:

      猜你喜欢
      • 2021-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多