簡體   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