在不导致404错误的情况下更改发布日期

时间:2013-05-27 作者:Shimon S

我们有基于日期的permalink结构(如“www.mysite/2012/05/27/postname”)
有些时候,我们需要先显示一些帖子,所以我们会更改它们的日期<问题是,通过这种方式,在更改URL的日期后,也会更改URL,因此旧链接会导致404错误<这个问题有什么解决办法吗?

1 个回复
最合适的回答,由SO网友:Matthew Boynes 整理而成

您需要将旧URL的301重定向添加到新URL。您最好的选择是通过。htaccess,在您的主题中,或使用以下插件之一:

  • http://wordpress.org/plugins/simple-301-redirects/
  • http://wordpress.org/plugins/safe-redirect-manager/

    function wpse_100936_request( $qv ) {
        if ( isset( $qv[\'name\'], $qv[\'year\'], $qv[\'monthnum\'], $qv[\'day\'] ) ) {
            unset( $qv[\'year\'], $qv[\'monthnum\'], $qv[\'day\'] );
        }
        return $qv;
    }
    add_action( \'request\', \'wpse_100936_request\' );
    
    然后,日期可以更改,而不会导致404s。现在可以在任何日期访问帖子,例如/2013/05/28/some post/和/1776/07/04/some post/。SEO专家可能会警告您“内容重复”,但规范的元标记将始终指向正确的日期,因此这不应该是一个问题。我能预见的唯一潜在问题是,如果有人在旧日期链接到该帖子,他们将不会被重定向;这是否重要取决于你。

结束

相关推荐

Infamous admin login redirect

我有一个安装了域映射插件的多站点。所有域都工作正常,除了。。。其中一个站点位于子目录(运行Magento的主站点)上。我在WP子目录的原始安装目录中添加了一个符号链接(/wp/ 因为我需要改变.htaccess 不同重写库的文件。问题是wp-admin 不起作用。登录后,页面将刷新(使用redirect_to= 然后什么也没发生。经过进一步研究,我注意到站点尝试设置的cookie是针对父站点域的。。。