我们有一个多租户 Web 应用程序,客户可以在其中为其站点设置自定义域。
当请求无效域时,我们需要在不同域上显示错误页面。处理这个问题的正确方法是什么?我想也许向另一个站点上总是返回 404 的页面发出 303。这会让搜索引擎满意吗?
我仍在尝试确定是否需要这样做。因为没有提供很多信息来说明为什么需要它。有许多主机可以让用户为自己创建场所。当发生任何错误时,它只是链接到本地 404。那么为什么需要去另一个域进行 404 呢?作为设置带有域和子域的错误文档 404。所有这些都调用本地 404。它不只是主域的 404,而使子域毫无头绪。至于允许用户设置自定义域,我猜这是一个错字。你的意思是“自定义子域”。除非那是正确的,并且它以某种方式允许客户从您那里购买托管包。他们可以为此卖回给自己的客户。如果后者是正确的。您只需要正确设置他们的环境。
错误文档 404 /404.html
有一些更好的方法可以执行以下操作。只提供最快的。至于想要将 404 退回到另一个域,您仍然可以:
在 .htaccess 中:
ErrorDocument 404 /404.html
在本地 404.html 中使用:
<meta http-equiv="refresh" content="0; url=http://example.com/">
请注意,您可以使用其他方法。
为了让搜索引擎满意,通过域掩码让 404 看起来来自无效域。这将防止由于随着时间的推移重定向过多而导致声誉不佳。偶尔重定向到规范文档是很好的,因为这意味着您正在通过重定向到符合搜索结果的规范 IRI 来练习 DRY(不要重复自己)。在 404 页面上使用 meta noindex 来防止搜索引擎记住无效的自定义域 IRI。