有没有办法将网站上的每个网页重定向到另一个网站?
实际上我的意思是,我拥有两个网站,例如:
2.com是我的主要网站。当我向2.com添加页面时(例如:2.com/index.html),1.com忽略它并创建(1.com/index.html),重定向代码为2.com/index.html。 我可以这样做吗?
有没有办法通过php做到这一点?
实际上我需要的是一个自动创建文件的脚本,这些文件被添加到我的第一个站点上的第二个站点。那么我可以用php和mysql或任何其他脚本或编程语言来做这件事吗?
答案 0 :(得分:3)
如果您拥有这两个域,则可以使用DNS-A记录或其他任意方式将它们重定向到您的网站,然后只使用服务器别名(Server Alias
),如on apache.org所述。如果用户随后访问域名,他仍会看到他访问过的原始域名。
另一种方法是使用this blog描述的重写规则:
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 :(得分: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);
}
?>
免责声明:尚未经过测试,但这是我认为想要的最直接的方法。我真的不知道你为什么要这样做。
答案 2 :(得分:2)
无法使用PHP,因为在启动文件时执行PHP代码,而不是在启动服务器上的任何文件时执行。
可能.htaccess
:
RewriteRule (.*) http://www.newdomain.com/ [R=301,L]
从旧域名的每个页面重定向到www.newdomain.com。
有关重定向的更多方法,请参阅this post。
答案 3 :(得分:1)
上述答案只能在加载任何html之前使用。如果您正在寻找更容易实现的东西,请使用:
<script>window.location = 'http://google.com';</script>
答案 4 :(得分:1)
我不确定我是否完全理解你的问题。
使用PHP
header('Location: http://2.com');
使用HTML
<meta http-equiv="refresh" content="2;url=http://2.com">
提供了更多信息:
将CNAME记录添加到1.com的DNS,值为2.com
答案 5 :(得分:0)
我更喜欢在1.com上设置Nginx Web服务器并将其配置为代理,因此2.com实际上处理所有请求。因此,您可以避免在1.com上复制整个2.com,同时用户浏览器不会被重定向到1.com,就像使用 Location 标头一样。