1

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

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

我的文件结构如下所示:

-public
----.htaccess
----index.php
-src
-vendor
----composer
----fig
----nikic
----
psr ----ralouphie
---- slim

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

RewriteEngine On

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

Allow from all

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

4

1 回答 1

0

我阅读了文档并指定了slim一个notFound方法,该方法在出现错误时被调用404,所以它可以帮助你:

$app = new \Slim\Slim();
$app->notFound(function () use ($app) {
    $app->render('index.html');
});
于 2020-05-19T07:38:01.990 回答