亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

基于引薦來源的重定向發送 ERR_TOO_MANY_REDIRECTS

基于引薦來源的重定向發送 ERR_TOO_MANY_REDIRECTS

PHP
四季花海 2023-04-21 13:36:54
我得到的這段代碼由于某種原因沒有完全正常工作,盡管它似乎在正確的方向上,而且我猜測它為什么不工作,盡管我不知道如何修復。ide 是這樣的,如果 HTTP_REFERER = 一個包含單詞示例的網站,而你沒有登錄它,那么將你重定向到 mysite.com/loginadd_action( 'init', 'example_redirect');function metorik_redirect() {if (!is_user_logged_in() && strpos($_SERVER['HTTP_REFERER'], "example")){        wp_redirect( site_url('/login/') );         exit;     }   }上面的規則似乎在滿足條件時觸發,但隨后返回 ERR_TOO_MANY_REDIRECTS我的猜測是,每次它循環通過該函數時,它都會不斷地找到 referer 作為示例,然后它永遠不會退出它。如前所述,只是一個猜測。更新 1: 我嘗試使用我在此處 stackoverflow 中找到的其他代碼,結果相同:add_action('template_redirect', 'redirect_if_example');function redirect_if_example(){    if ( !is_user_logged_in() && coming_from_example(wp_get_referer()) ){         wp_safe_redirect( "/login/" );         exit;     } else{          wp_safe_redirect( get_home_url() );          exit;     }}function coming_from_example($url_string){   if ($url_string){      $url = parse_url($url_string);      return strpos($url['host'], 'example.com');   } else {     return false;   }}謝謝親切的問候
查看完整描述

1 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

嘗試在正確的鉤子中重定向并使用正確的 strpos 函數,如下所示:(此代碼應在您的 functions.php 文件中)


add_action( 'template_redirect', 'example_redirect');

function example_redirect() {

if (!is_user_logged_in() && strpos($_SERVER['HTTP_REFERER'], "example") !== false){

        wp_redirect( wp_login_url() ); 

        exit; 

    }   

}

另外請確保您實際上來自example其中包含字符串的網站。


查看完整回答
反對 回復 2023-04-21
  • 1 回答
  • 0 關注
  • 101 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號