【问题标题】:Wordpress - Rewrite old URLsWordpress - 重写旧网址
【发布时间】:2016-06-01 07:28:03
【问题描述】:

我们已将永久链接结构从 /archive/%post_id% 更改为 /%year%/%monthnum%/%postname%/,以获得更好的 SEO。

现在我们遇到了问题,例如 Facebook 上的所有旧 URL 都指向 404 页面。

是否可以将旧 URL 重写为新格式?

【问题讨论】:

    标签: wordpress url-rewriting


    【解决方案1】:

    在我的主题functions.php中添加了以下代码

    // Adding a new rule
    /**
     * Adds a new rewrite rule.
     *
     * @param array $rules Existing rewrite rules.
     * @return array (Maybe) modified list of rewrites.
    */
    function wpdocs_insert_rewrite_rules( $rules ) {
        $newrules = array();
        $newrules['archive/(\d*)$'] = 'index.php?postname=$matches[1]&post_id=$matches[2]';
        return $newrules + $rules;
    }
    add_filter( 'rewrite_rules_array','wpdocs_insert_rewrite_rules' );
    
    // Adding the id var so that WP recognizes it
    function wpdocs_insert_query_vars( $vars ) {
        array_push( $vars, 'id' );
        return $vars;
    }
    add_filter( 'query_vars','wpdocs_insert_query_vars' );
    

    【讨论】:

      【解决方案2】:

      将 301 从 old 重定向到 news 会更好。 .htaccess 中的几个规则应该可以工作。

      【讨论】:

      • 我没有尝试将我的 URL 转发到 301!我想用 wordpress 重写它们,就像我的回答假设的那样。
      【解决方案3】:

      我认为您可以使用插件“Simple 301 Redirects”将旧网址重定向到新网址。 你可以在这里下载它https://wordpress.org/plugins/simple-301-redirects/

      【讨论】:

      • 我没有尝试将我的 URL 转发到 301!我想用 wordpress 重写它们,就像我的回答假设的那样。
      【解决方案4】:

      如果您需要 301 个旧 URL 到新 URL,一个名为“Eggplant 301 Redirects”的 WordPress 插件非常有效。

      https://wordpress.org/plugins/eps-301-redirects/

      【讨论】:

      • 我没有尝试将我的 URL 转发到 301!我想用 wordpress 重写它们,就像我的回答假设的那样。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-02
      • 2014-09-23
      • 1970-01-01
      • 2016-11-03
      • 2017-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多