2012-07-14 145 views
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或任何其他腳本或編程語言來做到這一點嗎?

+1

你是說你想要兩個相同的站點,並且可以通過單獨的域名訪問嗎? – 2012-07-14 13:07:22

+1

你在說_static_或_dynamic_文件嗎? – yadutaf 2012-07-14 13:10:44

+0

@john wheal:是 – gokul 2012-07-14 13:16:13

回答

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。

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

免責聲明:沒有測試,但它是做什麼我想你想最直接的方式。我再次真的不知道你爲什麼想這樣做。

+0

的DNS記錄來執行此操作。當我添加包含您的代碼的2.com/index.html時,是否有可以自動創建1.com/index.html的腳本? – gokul 2012-07-14 13:04:05

+4

你能改說你的問題嗎?我不知道你在問什麼.. – 2012-07-14 13:06:06

+0

其實我想創建一個文件1.com/index.html通過運行腳本,而index.html被添加到2.com – gokul 2012-07-14 13:08:51

1

以上答案只能在任何html被加載之前使用。如果你正在尋找的東西,更容易實現使用本:

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

我不知道我是否完全瞭解你的問題。

使用PHP

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

隨着HTML

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

已經提供了更多信息:

添加CNAME記錄1.com與DNS 2.c的值om

+0

CNAME只會處理主機。如果有一些虛擬主機邏輯(如moste web服務器),那麼您需要添加1.com作爲2.com的別名。 – yadutaf 2012-07-14 13:26:07

2

無法使用PHP,因爲在啓動文件時執行PHP代碼,而不是啓動服務器上的任何文件。 可能與.htaccess

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

重定向到www.newdomain.com從每一個頁面上的舊域。


約重定向多個方法見this post

0

我寧願在1.com上設置Nginx web服務器並將其配置爲代理,因此2.com實際上處理所有請求。因此,您可以避免在1.com上覆制整個2.com,並且同時用戶瀏覽器不會被重定向到1.com,如果您使用位置標題。

相關問題