MVC 路由在索引 (index.php/path) 中提供服务,而不是在正常情况下 (site/path)

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

我将MVC应用程序(模型视图控制器)上传到vps,详细信息是路由,默认情况下index.php位于文件夹“public”中,如果显示良好则路径“/”,但后面的路径为“/portfolio”没有直接显示,要访问它们,我必须输入不需要的“index.php/portfolio”,如果您想亲自查看它,站点是这样的:www.miatodesign.com。在那里它加载主页,但不加载其他页面,访问“miatodesign.com/index.php/portfolio”并在那里显示它们。我在 apache 服务器和作曲家中使用 php。我的mvc代码也是这样的:

$router->get('/', [PublicController::class, 'viewIndex']);  $router->get('/portfolio', [PublicController::class, 'viewPortfolio']);  $router->get('/services', [PublicController::class, 'viewServices']);  $router->get('/contact', [PublicController::class, 'viewContact']);

我尝试配置一个.htaccess文件,但它不起作用,也直接更改路径,例如“../portfolio”,它也不起作用。

php apache model-view-controller vps
1个回答
0
投票

这是您的

.htaccess
文件的常见问题。

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

此规则确保所有不是针对特定文件(-f)或目录(-d)的请求都通过index.php重新路由(否则您的Web资源将无法正确加载),从而允许您的MVC应用程序在内部处理路由无需在 URL 中添加 index.php。

© www.soinside.com 2019 - 2024. All rights reserved.