我的问题类似于Wordpress (Postname Permalink) 404 error但这超出了问题的范围。
我的客户在默认的 WordPress 博客结构 YYYY/MM/post-name 中拥有数百个页面
他们想将其移动到永久链接结构/post-name
但是,Google 和其他搜索引擎中的现有链接必须重定向到正确的"new"页面,而不是 404 页面,也不是主页。
我的问题是,使用最新版本的 WordPress(在撰写本文时为 4.6.1) - 如果您只需进入“设置”>“固定链接”>“帖子名称”,它会正常工作吗?
或者
您是否仍需要修改 .htaccess 文件以便“旧页面”重定向到新页面?
如果是这样 - 正确的 .htaccess 文件语法是什么,以便每个新链接都是“301 重定向”,告诉搜索引擎该页面已永久移动?
谢谢!
最佳答案
在您的functions.php中使用此模板作为替代方案
add_action('template_redirect','check404');
function check404(){
if (is_404() ) {
$url = $_SERVER['REQUEST_URI'];
$url = esc_url_raw( $url );
//FIND IF THERE IS A POST...
$e = explode("/", $url);
$reversed = array_reverse($e);
$number = $reversed[0];
$link = get_permalink($number);
if(!empty($link)){
wp_redirect( $link, 301 );
exit;
}
else
return;
}
}
这将重定向 /YYYY/MM/post-name/
->/post-name/
关于php - WordPress 更改永久链接 404 消息 - 301 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40063255/