0

在 .htaccess 文件中,是否可以为 404 错误页面发送 410 状态代码,然后立即重定向到主页?

例如,当搜索引擎抓取一个 404 页面时,服务器会发送 410 状态码,然后重定向到首页。

4

1 回答 1

0

不,不可能在同一个响应中发送 4xx重定向(即 3xx 状态)——如果这是有意的话。

410(或 404)响应是一种响应。3xx HTTP 重定向是另一种完全不同的响应。你做一个或另一个,而不是两者兼而有之。

无论如何,谷歌可能会将 3xx 重定向到主页视为软 404(因为它们通常是糟糕的用户体验)。

但是,您可以发送 410“已消失”状态而不是 404“未找到”。具体如何操作将取决于您的系统。例如,如果您有一个现有的 404 文档,那么在将响应发送到客户端时简单地覆盖 HTTP 状态可能会更容易。要在任何响应未映射到物理文件或目录时发送 410,您可以使用 mod_rewrite in 执行以下操作.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ - [G]
于 2018-11-25T23:23:32.127 回答