2014-11-24 83 views
1

我需要根據來源URL將流量重定向到一個URL。根據始發URL重定向用戶

·siteabc.co.uk域名將重定向到sitexyz.co.uk/camps

·siteabc.co.uk/daycamps將同時存在

我想什麼發生的是,如果客戶類型siteabc.co.uk他們將被重定向到sitexyz.co.uk/camps,彈出/燈箱會出現說'你在尋找Daycamps嗎?',如果點擊用戶將被帶到siteabc.co。英國/日營

如果他們直接登陸sitexyz.co.uk/camps彈出應該不顯示。

我需要燈箱只顯示,如果他們從siteabc.co.uk到達,這可能嗎?

我想jQuery應該能夠做到這一點,但我不知道是否有一個起點使用。任何幫助讚賞。

回答

0

如果您正在使用任何Apache Web服務器,那麼解決您的問題的方法是使用.htaccess文件。 htaccess文件(分佈式配置文件)提供了一種在每個目錄基礎上進行配置更改的方法。

首先創建一個名爲.htaccess的文件並將其保存在根目錄中。你的情況在siteabc.co.uk/.htaccess

因爲不同版本的Apache服務器的配置文件的語法可以變化,這裏的代碼應該工作

類型:1

RewriteEngine敘述在
RewriteBase/
RewriteCond%{HTTP_HOST}!siteabc.co。英國/ $ [NC]
重寫規則^(。*)$ siteabc.co.uk/camps/$1 [L,R = 301]

類型:2

RewriteEngine敘述上
(。*)的RewriteCond%{REQUEST_URI} ^/$
重寫規則siteabc.co.uk/camps [R = 301,L]


類型:3

RewriteEngine敘述在
重寫規則^ $ /營地[L]



感謝

+0

工作太棒了!謝謝 – RustyIngles 2014-12-09 10:32:37

0

如果您只想通過JavaScript執行此操作,請使用document.referrer獲取Referer URL。它會給你從你重定向到那個頁面的地方。但依賴服務器端腳本總是更好。

0

這更像是一個服務器端的事情,因爲你可以很容易地看到引用的URL,你最好的選擇是使用你正在使用的代碼來添加一個基於它來自哪裏的代碼,如果你顯示你的代碼,我可以幫助更多,但是直到基於服務器請求添加一個類,NodeJS在這個輝煌的同樣也是PHP。在大多數情況下它也更加準確。

0

您可以使用URL參數來決定要顯示的內容。考慮下面的簡單例子。

redirect1.html

<!DOCTYPE html> 
<html> 
<head> 
<script> 
window.onload = function() { 
    window.location.assign('redirect2.html?redirect1'); 
}; 
</script> 
</head> 
<body> 
</body> 
</html> 

redirect2.html(同一目錄)

<!DOCTYPE html> 
<html> 
<head> 
<script> 
window.onload = function() { 
    var paramString = window.location.href.split('?')[1]; 
    if (paramString !== undefined) { 
     console.log(paramString); 
    } 
}; 
</script> 
</head> 
<body> 
</body> 
</html> 

JS在第一個文件的頁面重定向到第二個文件(你可以喂location.assign功能也有一個URL)。 第二個文件中的JS解析自己的URL並在'?'後打印該部分。到您的瀏覽器控制檯。相反,你可以決定做什麼取決於'?'之後有什麼(例如域名)。

P.S. This reference可能會得心應手。