在所有电子邮件的@符号后重定向到特定域名

时间:2014-09-02 09:29:35

标签: php

我使用这个PHP代码在所有电子邮件的@之后发送域名。

function getDomain($domain)
{
  // Split the email after the '@' to get the email domain and send
  $parts = explode('@', $email);
  if (in_array(end($parts), $validDomains)) {
      return false;
  }
  return true;
}

$host = parse_url( $Row->url, PHP_URL_HOST );
$parts = explode('@',$email);
$domain = "www.".$parts[1];
header("Location:$domain");   
?>

我有一个PHP代码,用于在电子邮件的@符号后发送域名输出...现在已经完成了一定程度。它发送下面的网址,并在网址的末尾添加了域名。

这是主要的主机,其中上传的文件和我希望在链接末尾重定向的域名。 如何过滤其他网址,只保留www.google.com

仅作为我的重定向结果...我不需要将其他网址作为重定向的输出发送出去。所以现在它给我错误找不到

404未找到 找不到

请求的网址/music/wp-content/themes/musicfile/products/www.google.com

3 个答案:

答案 0 :(得分:0)

要重定向到另一个域,您需要使用http://

header("Location: http://www.example.com");

在你的情况下,

header("Location: http://www.$parts[1]");

答案 1 :(得分:0)

试试这个。这很有效。

<?php
function getDomain($domain)
  {
  $parts = explode('@', $domain);
  if (filter_var(gethostbyname(end($parts)), FILTER_VALIDATE_IP)) {
      //echo end($parts);
      header("Location:http://".end($parts)); 
      }
 else{
      echo "Domain is not valid.";
     }
}

getDomain('anik@stackoverflow.com');
?>

答案 2 :(得分:-1)

这是因为您没有在域名

之前附加http://

替换

$domain = "www.".$parts[1];

代码中的

$domain = "http://".$parts[1];

$domain = "http://www.".$parts[1];