2017-02-22 68 views
-1

我有一個前端以HTML5 + javascript + jquery和PHP後端編碼的網站。更改從子域到主域的地址欄中的URL

我有一個域

example.com 

和子域

a.example.com 

在以a.example.com瀏覽器重定向我example.com。現在我希望即使a.example.com顯示給用戶,地址欄也應該顯示example.com作爲打開的域。

我該怎麼做?有沒有辦法欺騙真實的網址,並顯示另一個網址給用戶,如果他們屬於相同的主域名?

謝謝

+0

重定向通常由Web服務器完成。你使用什麼服務器? – Bizniztime

+0

已經試過我的回答? @ user2238284 – kampangala

回答

2

而不是使用瀏覽器重定向你可以使用你的服務器來顯示example.com的瀏覽器,而實際渲染a.example.com

這可以使用Apache服務器虛擬主機下(如果你使用PHP + APACHE)設置

<VirtualHost *:80> 
    ServerName example.com 
    ServerAlias *.example.com 
    ProxyPassMatch ^/(*)$ http://a.example.com/$1 
    ... 
    ... 
</VirtualHost> 

這將使代理從example.com的所有請求完成至 a.example.com,無需更改網址。它會在a.example.com下運行你的代碼。

注意:這需要apache中的mod_proxy模塊

希望這有助於!

2

出於安全原因,這是不可能的。

您無法控制瀏覽器顯示用戶的網址,除非用戶導航到特定的網址。

想象一下,如果可能的話,有多少惡意網站會僞裝成他們不是的網站。

+0

我已經使用window.history.pushState向用戶顯示同一網站的另一個網址。我想知道是否有可能與同一個域的子域名相同。 – user2238284

+0

同樣是不可能的,不。 – Cerbrus

0

如果目的是欺騙瀏覽器中的地址,這不是一個好主意。但是,如果您想在保持example.com地址的同時顯示a.example.com的內容,則可以使用example.com索引文件中的php include ('http://a.example.com')。但是,您應該在您的php.ini文件中啓用url include。 另一種方法是使用<iframe src='http://a.example.com'></iframe>example.com索引文件,使用戶始終看到的example.com地址,而內容是從a.example.com