我有一些内容要永久删除,从我的网站。这是一个永久的删除,我计划给410状态代码。
我可以很好地返回PHP页面中的状态代码
header( "HTTP/1.1 410 Gone" );
exit或者在.htacccess中使用重写规则作为
RewriteRule ^deleted/ - [L,R=410]在此之前我已经很清楚了。但是,我想将用户重定向到另一个页面,以解释为什么某些页面不再可用。
那么,重定向到另一个带有410代码的页面还行吗?我特别问这个问题,因为我觉得重定向到这样一个页面(搜索引擎可能把它当作重定向)是很混乱的,但是同时给出410代码。
什么是正确的方法。请帮帮忙。
发布于 2020-01-19 02:23:52
那么,重定向到另一个带有410代码的页面还行吗?
重定向是不必要的。定义自定义410错误文档:
ErrorDocument 410 /error-docs/e410.php并在.htaccess中触发410,正如您之前所做的那样:
RewriteRule ^deleted/ - [G]G标志只是R=410的一个快捷方式,而L标志并不是必需的(当使用3xx以外的状态代码时它是隐含的)。
使用内部子请求(没有外部重定向)调用错误文档/error-docs/e410.php。
在e410.php中,您可以检查触发410的网址(即。( $_SERVER['REDIRECT_URL'])如果您希望为不同的URL传递特定的消息。
我特别问这个问题,因为我觉得重定向到这样一个页面(搜索引擎可能把它当作重定向)是很混乱的,但是同时给出410代码。
是的,它既混乱又低效。尽管搜索引擎最终会看到410的消失状态--所以它仍然应该间接地“工作”。但是这是低效的(2个请求/响应)--一个3xx,然后是410 (在第二个重定向响应中)。如果您“重定向”到您的错误文档,那么您就无法检查最初触发410的请求的细节。
参考资料:
https://webmasters.stackexchange.com/questions/127277
复制相似问题