重定向/ page / xx / if 404 - IIS / WordPress

时间:2014-02-01 20:15:26

标签: wordpress url iis rewrite http-status-code-404

在Windows Server 2012 R2 / IIS上运行WordPress(PHP / MySQL)。

将我的博客从ASP.net解决方案转移到WordPress后,我设置了许多IIS重定向,以帮助减少Google抓取错误。我是一个WordPress操作员,而不是开发人员,但我确实使用URL重写/正则表达式等重定向工作。我并不完全不熟悉这些概念。

现在,我已经转到了改版主题等,但仍然在WordPress上。一切都很好,但是由于我显示档案的方式发生了变化,我因为不再存在的页面而收到了大量的404抓取错误。

例如,/ author / joe / page / 150 / now 404s。其中有许多文件夹(/ author /,/ tag /等)

我不能简单地重定向/ page /因为(例如)/ author / joe / page / 100 /是一个有效的页面。

我想做的是,“如果* / page / xxx = 404,然后重定向到/ page /”,或类似的东西,但我不清楚如何继续。

任何帮助?

1 个答案:

答案 0 :(得分:1)

您可以向functions.php添加代码 挂钩'template_redirect'动作。请参阅documentation here

几乎没有修改的链接示例:

function my_page_template_redirect() {
    if( is_404() ) {
        $url = $_SERVER['REQUEST_URI'];
        $search = '/author/joe/page/';
        if ( strpos( $search, $url ) !== false ) {
            wp_redirect( home_url( '/page/' ), 301 ); // or w/e where you want to redirect
        }
        exit();
    }
}
add_action( 'template_redirect', 'my_page_template_redirect' );