PHP根据在浏览器中输入的URL重定向到不同的URL

时间:2012-09-24 20:54:44

标签: php url redirect browser

我在同一主机帐户中有2个共享相同IP地址的域。我想根据用户在浏览器中键入的域重定向到不同的URL。我想使用PHP。

实施例

<?php
If browser URL is www.example.com or example.com
REDIRECT to www.example.com

ELSE if;

browser URL is www.example.org or example.org
REDIRECT to www.example.org
?>

谢谢我是新手所以请详细说明,它应该适用于所有浏览器。

2 个答案:

答案 0 :(得分:0)

从你的问题来看,目前尚不清楚你究竟想要什么。如果您有两个域指向(DNS)到同一IP地址,那么当您在浏览器中插入这些地址时,您将转到该IP地址(到该计算机/服务器)。该服务器可以(如果已配置)根据地址名称区分这些请求,并将这些请求重定向到不同的子文件夹 - 这称为虚拟主机。尝试搜索术语“虚拟主机”并找出您实际需要的内容。

答案 1 :(得分:0)

你有没有理由 在PHP中执行此操作?它可以在但它需要重建URL;

之类的东西
<?php
if (preg_match('/^www\./', $_SERVER['HTTP_HOST']) == 0) {
  $url = "http://www." . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
  header( "HTTP/1.1 301 Moved Permanently" ); 
  header( "Location: $url" ); 
  exit();
}    
?>

(为什么你应该使用301,见this question

请注意,这不会处理端口80以外的端口上的HTTPS或请求。如果您使用的是Apache,则可以使用mod_rewrite引擎执行此操作。随HTML 5 Boilerplate提供的.htaccess文件包含一个示例。