2015-06-21 65 views
0

我正在與一位擁有許多子域的網站的客戶合作,這些子域代表鎖匠業務中涉及的不同區域。他從目錄網站獲取大量流量,並希望僅將他的域名用作這些網站上的鏈接。當有人點擊它時,他希望根據推薦網址中的關鍵字重定向它們。僅基於引用網址的一部分重定向

例如,參照叫喊URL可以是

yell.com/ucs/UcsSearchAction.do?keywords=locksmith&location=Watford%2C+Hertfordshire&scrambleSeed=1311994593 

的客戶想htaccess的或類似的關鍵字「沃特福德」從URL挑出來,並重定向到東西watford.hisbusiness.com因此。

這不是我以前做過的事情,我很困惑。研究發現沒有線索。

回答

0

您可以檢查HTTP_REFERER以獲取來自推薦網址的信息。

RewriteEngine on 

RewriteCond %{HTTP_REFERER} yell\.com/.*\?.*\&location\=(\w+)\%2C\+(\w+) 
RewriteRule ^$ http://${lower:%1}.hisbusiness.com/ [R=302,L] 

${lower:$1}是用來做沃特福德小寫。爲了使這項工作,你需要以下內容添加到您的httpd.conf或虛擬主機配置文件:

RewriteMap lower int:tolower 

注:到位以上是專爲域根(hisbusiness.com)的規則只 - 也就是說hisbusiness.com/something的請求不會觸發重定向。如果你想它來檢查URI爲好,使用以下規則來代替:

RewriteRule ^(.*)$ http://${lower:%1}.hisbusiness.com/$1 [R=302,L] 

爲了使永久重定向和瀏覽器/搜索引擎的緩存,改變302301

0

在PHP中使用Header使用您需要的條件:

if(condition 1){ 
header("Location: http://mywebsite1.com"); 
} 

if(condition 2){ 
header("Location: http://mywebsite2.com"); 
} 

else{ 
header("Location: http://mywebsite3.com"); 
} 

您可以在if條件使用[stristr][1]