开发者社区 问答 正文

wordpress 域名重定向后无法回复

// WordPress 移动端页面重定向到 MIP 独立域名
add_filter('get_header', 'fanly_redirect_to');
function fanly_redirect_to(){

if(wp_is_mobile()&&!is_admin()){
    global $wp;
    $new_url = '';//新 URL,例如 https://mip.zhangzifan.com
    $url = get_option('permalink_structure')== ''?add_query_arg($wp->query_string,'',home_url($wp->request)):home_url(add_query_arg(array(),$wp->request));
    wp_redirect( str_replace(home_url(),$new_url,$url), 302 );
    exit;
}

}

改了functions.php后,删除代码,重定向依然存在。

应该不是缓存问题!

展开
收起
才v 2018-02-18 19:51:22 2135 分享 版权
阿里云 AI 助理回答

您的代码片段是关于在WordPress中实现移动端页面重定向至MIP(Mobile Instant Pages,移动网页加速器)独立域名的功能。MIP是一种优化移动网页加载速度的技术,通过使用特定的HTML规范和缓存策略来提升用户体验。不过,您提供的代码片段并不完整,且直接在WordPress中这样操作可能会影响到非移动端用户或导致其他意料之外的行为。为了更准确地帮助您实现这一功能,我建议采用一个更全面且对SEO友好的方法。

下面是一个改进后的示例代码,这段代码应该放在您WordPress主题的functions.php文件中,或者以插件形式实现:

add_action('template_redirect', 'redirect_to_mip_if_mobile');
function redirect_to_mip_if_mobile() {
    if (wp_is_mobile() && !is_admin()) {
        $current_url = $_SERVER['REQUEST_URI'];
        // 假设您的MIP站点URL结构与原站一致,仅域名不同
        $mip_domain = 'm.example.com'; // 请将此替换为您的MIP独立域名
        $mip_url = 'http://' . $mip_domain . $current_url;
        
        // 添加条件判断,避免无限循环重定向,例如某些MIP页面不应再重定向
        if (!preg_match('#^http://'.$mip_domain.'#i', $mip_url)) {
            wp_redirect($mip_url, 302); // 使用302临时重定向,根据需要可改为301永久重定向
            exit;
        }
    }
}

这段代码通过add_action('template_redirect', 'redirect_to_mip_if_mobile')在WordPress的请求处理流程中的适当时机插入了重定向逻辑。它首先检查是否为移动端访问(通过wp_is_mobile()),然后构建目标MIP页面的URL,并执行重定向。注意,这里使用了302临时重定向,如果您确定这种重定向关系是长期稳定的,可以考虑使用301永久重定向。

请确保在实施前备份您的网站文件和数据库,以防不测。此外,考虑到SEO因素,正确设置MIP与原站之间的关系,如使用<link rel="canonical">标签,避免内容重复问题,是非常重要的。最后,由于搜索引擎和移动技术的不断更新,建议定期检查并调整您的移动优化策略。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答