在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 /”,或类似的东西,但我不清楚如何继续。
任何帮助?
答案 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' );