WordPress не перенаправляет из PHP-файла - PullRequest
0 голосов
/ 26 октября 2019

У меня есть форма в WordPress, где форма действия = swagHome.php. В этом файле я пытаюсь перенаправить с:

header ("Location: https://www.sustainablewestonma.org/");

, но это не работает. Я определенно получаю эту строку кода, но ничего не происходит.

Ответы [ 2 ]

0 голосов
/ 26 октября 2019

Я адаптировал следующее из CS50:

function redirect($destination){    

// handle URL
if (preg_match("/^https?:\/\//", $destination)){
   header("Location: " . $destination);
}else if (preg_match("/^\//", $destination)){
   // handle absolute path
   $protocol = (isset($_SERVER["HTTPS"])) ? "https" : "http";
   $host = $_SERVER["HTTP_HOST"];
   header("Location: $protocol://$host$destination");
}else if (preg_match("/^www/",$destination)){
    //handle www addresses (added by rss)
    $protocol = (isset($_SERVER["HTTPS"])) ? "https" : "http";
    header("Location: $protocol://$destination");
}else{
   // handle relative path  
   // adapted from http://www.php.net/header
   $protocol = (isset($_SERVER["HTTPS"])) ? "https" : "http";
   $host = $_SERVER["HTTP_HOST"];
   $path = rtrim(dirname($_SERVER["PHP_SELF"]), "/\\");
   header("Location: $protocol://$host$path/$destination");      
}


// exit immediately since we're redirecting anyway
/****************
  print($_SERVER["HTTPS"].'<br>');
  print($_SERVER["HTTP_HOST"].'<br>');
  print($host.'<br>');
  print($path.'<br>');
  print($destination.'<br>');
  print_r2($_SERVER);
*****************/
  exit;
}
0 голосов
/ 26 октября 2019

если он перенаправляет на URL на том же сайте, вы можете использовать wp_safe_redirect () , в противном случае есть wp_redirect ()

wp_safe_redirect( $url );
exit;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...