Model view controller 在MVC中重定向或加载视图?

Model view controller 在MVC中重定向或加载视图?,model-view-controller,language-agnostic,Model View Controller,Language Agnostic,有时,当用户正在查找的文档不在数据库中时,我们希望通知他们该文档不存在。我们可以将它们重定向到另一个页面或加载另一个视图,哪一个是合适的?什么时候使用视图重定向?@dpp除了URL更改外,我看不出有什么主要区别。我想如果你改变方向的话会更干净 如果找不到,则应发出或加载404页面。执行重定向会导致一个302代码,后跟一个“200OK”,这意味着有一些内容。404平板显示“没有文件” 类似的内容将显示一个404页面,其中包含正确的标题代码: <?php if ($page_not_found

有时,当用户正在查找的文档不在数据库中时,我们希望通知他们该文档不存在。我们可以将它们重定向到另一个页面或加载另一个视图,哪一个是合适的?什么时候使用视图重定向?

@dpp除了URL更改外,我看不出有什么主要区别。我想如果你改变方向的话会更干净

如果找不到,则应发出或加载404页面。执行重定向会导致一个302代码,后跟一个“200OK”,这意味着有一些内容。404平板显示“没有文件”

类似的内容将显示一个404页面,其中包含正确的标题代码:

<?php
if ($page_not_found) {
   header('This is not the page you are looking for', true, 404);
   include('your_404_page.php');
   exit();
}

为什么不返回带有404状态代码的视图

如果要将它们发送到站点的新部分,请使用重定向。也许是搜索页面,或者是主页


如果您想通知他们访问的url无效,请使用未找到视图和404状态代码。这也有利于搜索引擎优化。你不想向谷歌发送大量302条重定向,否则会给你带来沉重打击。

因为我不确定这样做是否正确。你能告诉我什么时候使用视图而不是重定向吗?当然。这取决于网站的流量。是否希望用户停止并注意到发生了这种情况?如果用户来自外部链接,您是希望他们总是出现在有用的页面上,还是希望页面告诉他们使用的链接无效?在大多数情况下,我用404弹出一个未找到的视图。你能解释一下为什么它更干净吗?