Landing Page - Redirect Loop?

时间:2012-12-08 作者:icemanhx

为此,最近给出了此解决方案(感谢D先生)Wordpress redirect to landing page if not logged in 线

<?php
if($_SERVER[\'REQUEST_URI\'] != \'.../\' || $_SERVER[\'REQUEST_URI\'] != \'.../\'){

if(!is_user_logged_in()) {
wp_redirect( \'http://www.mysite.com/landingpage\', 301 ); exit;
}
}
我最近尝试了这段代码,如果我替换为“say”,它就会起作用。”http://www.google.com“”

但是,如果我用mydomain替换它。com/landingpage出现重定向循环错误。

有什么想法吗?

谢谢

1 个回复
最合适的回答,由SO网友:shea 整理而成

发生的情况是,您正在向某个页面发送未经验证的访问者。该页面中的代码还检测到用户未经身份验证,并将其发送到他们已经在的页面。因为页面不断地将访问者发送到同一页面,因此访问者不能去任何地方。这叫做redirect loop.

你在正确的轨道上$_SERVER[\'REQUEST_URI\'] 检查但是,路径如下../.../ 行不通。您需要使用重定向到的页面的实际URL(无域和协议)。基本上,您需要使用以下代码:

if ( trim( $_SERVER[\'REQUEST_URI\'], \'/\' ) != \'landingpage\' && ! is_user_logged_in() ) {
    wp_redirect( home_url( \'landingpage\' ), 301 );
    exit;
}

结束

相关推荐

Multiple Loops Homepage?

WebDesignerDepot最近的重新设计给我留下了深刻的印象,我对他们主页的机制很好奇。我喜欢他们的特色帖子部分打破了页面的单调,但我还没有想出如何在我自己的设计中加入类似的东西。我猜他们正在使用多个循环,看起来就像[按时间顺序排列的主循环]-->[自定义循环]-->[按时间顺序排列的主循环]。如何中断到自定义循环中,然后继续在主循环中中断的位置?