0

有没有办法将网站上的每个页面重定向到另一个网站?

实际上我的意思是,我拥有两个网站,例如:

  1. 1.com
  2. 2.com

2.com 是我的主要网站。当我将页面添加到 2.com(例如:2.com/index.html)时,1.com 会忽略它并使用重定向代码创建(1.com/index.html)到 2.com/index.html。我可以这样做吗?

有没有办法通过 php 做到这一点?

实际上,我需要的是一个脚本,它可以自动创建文件,这些文件将添加到我的第一个站点上的第二个站点。那么我可以用 php 和 mysql 或任何其他脚本或编程语言来做到这一点吗?

4

6 回答 6

3

如果您拥有这两个域,则可以使用 DNS-A 记录或其他任何方式将它们重定向到您的网站,然后只需使用apache.org 上Server Alias概述的服务器别名 ( ) 。如果用户随后访问该域,他仍将看到他访问的原始域。

另一种方法是使用此博客所述的重写规则:

RewriteCond %{HTTP_HOST} ^www.2.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^2.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.2.com$ [NC]
RewriteRule ^(.*)$ http://1.com/$1 [R=301,L]

然后您的用户将始终在其地址栏中看到 1.com。

于 2012-07-14T13:08:29.943 回答
2

// 将此脚本放在 1.com 上,它将重定向到 2.com,反之亦然

<?php

header('Location: http://2.com/index.html');
exit();

?>

如果我没有正确理解您的问题,请告诉我,我会尽我所能帮助您。

// 超级破解时间

<?php
// 1.com
$files = scandir('./*'); // not recursive, note that
$sent = file($files['log.txt']);
unset($files['log.txt']);
$notsent = array_diff($files, $sent);
foreach($notsent as $file) {
     $contents = file_get_contents($file);
     // Use curl to post to 2.com receiving script http://davidwalsh.name/execute-http-post-php-curl
     file_put_contents($sent, $file, FILE_APPEND);
}
?>

免责声明:尚未测试,但这是做我认为你想要的最直接的方法。同样,我真的不知道您为什么要这样做。

于 2012-07-14T13:02:52.140 回答
2

用 PHP 是不可能的,因为 PHP 代码是在文件启动时执行的,而不是在服务器上的任何文件启动时执行的。可能与.htaccess

RewriteRule (.*) http://www.newdomain.com/ [R=301,L]

从旧域上的每个页面重定向到 www.newdomain.com。


有关重定向的更多方法,请参见这篇文章

于 2012-07-14T13:08:19.227 回答
1

上述答案只能在加载任何 html 之前使用。如果您正在寻找更容易实现的东西,请使用:

<script>window.location = 'http://google.com';</script>
于 2012-07-14T13:05:31.967 回答
1

我不确定我是否完全理解你的问题。

使用 PHP

header('Location: http://2.com');

使用 HTML

<meta http-equiv="refresh" content="2;url=http://2.com">

提供了更多信息:

向 1.com 的 DNS 添加一条 CNAME 记录,值为 2.com

于 2012-07-14T13:05:50.223 回答
0

我更愿意在 1.com 上设置 Nginx Web 服务器并将其配置为代理,因此 2.com 实际上会处理所有请求。因此,您可以避免在 1.com 上复制整个 2.com,同时用户浏览器不会像使用Location标头那样重定向到 1.com。

于 2012-07-14T13:21:47.130 回答