我将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”,它也不起作用。
这是您的
.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。