iT邦幫忙

0

URL舊網址使用新域名'覆蓋'? 綁定網址

匿名 2015-05-10 00:20:402670 瀏覽

各位好:
請問如果有一個網站了,如:
http://facebook.com/page/ithome

我另外有申請到ithome.com這個域名,
想請教如何設定才能全部行為都沿用在ithome.com這個網址下??
例如新網址的任何子連結作業,都會對應到原先網址的子連結~~

想要讓他變成在網址列是http://ithome.com/news/
但是卻是讀取網址 http://facebook.com/page/ithome/news/
就是可顯示原本新聞的連結網址的內容~~

簡言之,就是,
瀏覽器的網址列會取代

http://facebook.com/page/ithome/

成為

http://ithome.com/

請問這是要甚麼技術跟方式才可達到??
DNS代管??
自架DNS主機??

感謝回覆!!

"匿名"是大地雷,也是拒絕回答的黑名單榜首。

若直有需要網友給答案,好歹現出名號。

至於你的問題,解決的關鍵在DNS。
匿名 檢舉
您好:

感謝回覆重要關鍵字,
目前已經往這方面去研究了

1 個回答

12
逮丸逮丸
iT邦大師 1 級 ‧ 2015-05-10 09:17:24
最佳解答

你的問題沒有太詳細的定義。

如果 facebook.com/page/ithome 這個網站,
你可以設定該網站的 web server,
那就只要利用 rewrite 的語法,
就自動會把所有指定的舊網址跳到新網址。

如果 facebook.com/page/ithome
不是你能控制的網站,
接下來的問題,應該已不在DNS上了,
而是在於web主機上設定上,
大概可以分兩個主要議題要處理:

1.最基本的 reverse proxy 的議題
你要在
ithome.com 這一台web主機上,
設定 reverse proxy
http://facebook.com/page/ithome/news/
掛在 http://ithome.com/news/
如果你是用 apache 的話,
大概用類似這樣的語法即可設定:

<pre class="c" name="code">ProxyPass /news http://facebook.com/page/ithome/news
ProxyPassReverse /news http://facebook.com/page/ithome/news

2.連結上的相對路徑或絕對路徑的議題
如果在 http://facebook.com/page/ithome 的網頁上的連結,
看一下網頁的原始碼內容,
其href是 page1.html 的話,
那麼新網址的連結會連到自己的 ithome.com/news/page1.html
這不會是什麼問題。
若其連結的href是
http://facebook.com/page/ithome/page1.html的話,
那麼新網址的連結,又會點到舊網址網頁了,

如果你有權限改 http://facebook.com/page/ithome 上的網頁,
只要把上面的所有絕對路徑改為相對路徑,
馬上完工。若不能改的話,
那就要把新網站上的 apache 設定,
把網頁裡所有的 http://facebook.com/page/ithome 字樣,
都替換成 ithome.com,
這樣新網頁內的結連,才不會又連到舊網頁。
在 apache 上要這樣子做類似取代字串:

<pre class="c" name="code"><Location /news>
  AddOutputFilterByType SUBSTITUTE text/html
  Substitute s/facebook.com\/page\/news/ithome.com\/news/ni
</Location>

上述的碼,只取代html的,若連javascript有的話,
也要加入javascript的類型,做為取代的目標。

這是大原則上的做法,
細節上還牽涉到舊網站其他路徑上資料的問題,
舊網站上其他的資料,
如果還是要開放網路上給連結的話,
設定的考慮細節會很多很麻煩;
如果可以的話,
乾脆舊網站不讓外部直接存取,
一律透過新的主機來代理存取,
就不會有太多的細節要考量。

匿名 檢舉

http://facebook.com/page/ithome
我另外有申請到ithome.com

您好:
感謝回覆,目前稍有頭緒可以先往"reverse proxy"試試看??

主要是先假若 facebook.com 這台主機我有其完整的控制權,
並在上面開設了 2個子目錄:
例如:
facebook.com/page/blog
facebook.com/page/ithome

然後blog跟ithome 目錄是不同的程式結構跟不同頁面在運作,可以說是完全不同的子站。

現在我另外申請到了單純的網址:
ex: www.blog.com 以及 www.ithome.com
想要直接用這2個網站當作主要門面,去運行其facebook.com子目錄下的所有作業。

將來存取www.blog.com/user/add.php 等同於存取facebook.com/page/blog/user/add.php
但是瀏覽器的一切作業還是以www.blog.com的預名下顯示~~

我要發表回答

立即登入回答