【发布时间】:2023-03-12 04:54:01
【问题描述】:
我想阻止我的网站,并可能在我更新它时将它们重定向到 404 页面,这可能需要一些时间。
每次用户访问我的网站时都可以重定向到 404 页面吗?
【问题讨论】:
-
404页面跟它有什么关系?
我想阻止我的网站,并可能在我更新它时将它们重定向到 404 页面,这可能需要一些时间。
每次用户访问我的网站时都可以重定向到 404 页面吗?
【问题讨论】:
这会起作用,但这不仅会是错误信息(该页面不是“未找到” - 它只是当前正在更新),而且还会误导您的用户和爬虫。我会将它们重定向到“更新中”页面,并将其与 http 状态代码 423 (LOCKED) 一起发送给客户端,以提供符合您的场景的标准答案。
【讨论】:
这里有一个更简单的想法:只需创建一个新的索引页面,它是您的原始页面,除了内容替换为“当前正在更新的网站;请稍后再回来”之类的消息。然后你会将所有点击到你的网站重定向到那个索引页面。
这是我见过的许多网站倾向于做的,至少。这是有道理的,至少对我来说。我的意思是,您是否希望您的用户不知道为什么他们想要访问的页面不再存在,或者他们知道原因是因为站点正在更新?它与 404 页面基本相同,只是提供了为什么所需页面不存在的具体信息。
编辑:看来我基本上是在谈论 503 页面,通过 David 的链接和 Roland 的回答。
【讨论】:
如果它只是站点停机维护期间的临时重定向,那么您可能不想使用 404 代码。看看other codes available to you。对于这样的场景,307(临时重定向)会更有意义。如果您有任何 SEO 或完全依赖搜索爬虫,这也会更好,因为它们会删除现在产生 404 的结果,但足够聪明,可以保留暂时产生 307 的结果。
重定向本身可以正常工作,只需将所有流量重定向到静态页面。 (您是否需要有关如何做到这一点的建议,或者您只是在寻找替代选择和可行性?问题尚不清楚。如果是前者,我无能为力。自从我打开一个 . htaccess 文件。)
基本上,404 告诉访问者:“此资源不在这里。不要再问了。”而 307 告诉访问者:“此资源暂时被其他东西处理,但它并没有真正移动,请稍后再试。”
【讨论】:
你不应该那样做。在这种情况下,状态码 503“暂时不可用”要好得多。
RewriteRule . - [R=503,L]
这可能有效。
【讨论】: