【问题标题】:Redirecting /page/xx/ if 404 - IIS / WordPress重定向 /page/xx/ 如果 404 - IIS / WordPress
【发布时间】:2014-02-25 12:08:46
【问题描述】:

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

在将我的博客从 ASP.net 解决方案迁移到 WordPress 之后,我设置了一些 IIS 重定向来帮助减少 Google 抓取错误。我是 WordPress 操作员,而不是开发人员,但我确实使用 URL 重写/正则表达式等进行重定向。我对这些概念并不完全陌生。

现在,我已经改用了经过改进的主题等,但仍在 WordPress 上。一切都很好,但是由于我显示档案的方式发生变化而不再存在的页面出现了很多 404 爬网错误。

例如,/author/joe/page/150/ 现在是 404s。许多文件夹中有许多这样的文件夹(/author/、/tag/ 等)

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

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

有什么帮助吗?

【问题讨论】:

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


    【解决方案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' );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 2023-01-11
      • 1970-01-01
      相关资源
      最近更新 更多