// 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后,删除代码,重定向依然存在。
应该不是缓存问题!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您的代码片段是关于在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">
标签,避免内容重复问题,是非常重要的。最后,由于搜索引擎和移动技术的不断更新,建议定期检查并调整您的移动优化策略。