【发布时间】:2016-06-01 07:28:03
【问题描述】:
我们已将永久链接结构从 /archive/%post_id% 更改为 /%year%/%monthnum%/%postname%/,以获得更好的 SEO。
现在我们遇到了问题,例如 Facebook 上的所有旧 URL 都指向 404 页面。
是否可以将旧 URL 重写为新格式?
【问题讨论】:
我们已将永久链接结构从 /archive/%post_id% 更改为 /%year%/%monthnum%/%postname%/,以获得更好的 SEO。
现在我们遇到了问题,例如 Facebook 上的所有旧 URL 都指向 404 页面。
是否可以将旧 URL 重写为新格式?
【问题讨论】:
在我的主题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' );
【讨论】:
将 301 从 old 重定向到 news 会更好。 .htaccess 中的几个规则应该可以工作。
【讨论】:
我认为您可以使用插件“Simple 301 Redirects”将旧网址重定向到新网址。 你可以在这里下载它https://wordpress.org/plugins/simple-301-redirects/
【讨论】:
如果您需要 301 个旧 URL 到新 URL,一个名为“Eggplant 301 Redirects”的 WordPress 插件非常有效。
【讨论】: