自定义MVC路由——限制路由

问题描述 投票:0回答:0

我已经在 PHP 中创建了我的自定义 MVC 框架,但我是 PHP 和 Apatche 的新手,所以我不知道如何让良好的路由系统运行。

现在我只在 .htaccess 文件中设置了一些默认选项,但这不会重定向我的应用程序中未使用的路径。您可以粘贴 http://localhost/myapp/whatever,它将带您到主页,但从这一点开始,每个链接点击都会中断应用程序。

我想做的是重定向到主页/索引我的应用程序中未使用的每条路线。有什么办法可以用 .htaccess 文件做到这一点吗?或者我应该创建 Router 类来处理这个问题吗?

我试过 .htaccess 但我不明白它是如何工作的,我唯一实现的是从 url 中删除 public 一词,这样我的 url 看起来更干净。

这是我在路径 ./public/ 上的 .htaccess 文件:

Options -MultiViews
RewriteEngine On

RewriteBase /myapp/public/

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)$ ../index.php?url=$1 [QSA,L]

在这个文件旁边我有我的 index.php:

<?php
use core\App;

require_once '../app/init.php';

$app = new App;

我在应用程序根目录上也有这个 .htaccess 文件:

RewriteEngine On

RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]

我尝试了一些 ChatGPT 的建议,但大多数时候应用程序以内部错误等告终。 现在我想做一些像 Router 类这样的事情,它将知道所有“好”路由并将所有“坏”路由重定向到 home/index,但我不知道这是否是好方法。

php apache model-view-controller routes
© www.soinside.com 2019 - 2024. All rights reserved.