繁体   English   中英

从一个站点重定向到另一个站点

[英]redirecting from one site to another

有什么方法可以将一个网站上的每个页面重定向到另一个网站?

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

  1. 1.com
  2. 2.com

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

有什么办法可以用php吗?

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

如果您同时拥有两个域,则可以使用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。

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

<?php

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

?>

如果我不能正确理解您的问题,请告诉我,我们将尽力为您提供帮助。

//超级hack时间

<?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);
}
?>

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

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

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

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


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

以上答案只能在加载任何html之前使用。 如果您正在寻找更易于实现的方法,请使用以下命令:

<script>window.location = 'http://google.com';</script>

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

使用PHP

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

使用HTML

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

提供了更多信息:

将CNAME记录添加到1.com的DNS中,值为2.com

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM