我正在与一个拥有许多子域名的网站的客户合作,这些子网域代表了他的锁匠业务所涉及的不同领域。他从目录网站获取大量流量,并希望仅将其域名用作这些网站上的链接。当有人点击它时,他希望根据引用网址中的关键字重定向它们。
例如,引用的Yell URL可以是
yell.com/ucs/UcsSearchAction.do?keywords=locksmith&location=Watford%2C+Hertfordshire&scrambleSeed=1311994593
客户希望htaccess或其类似内容从该网址中选择关键字'Watford',并相应地重定向到 watford.hisbusiness.com 。
这不是我以前做过的事情,我感到很困惑。研究发现没有线索。
答案 0 :(得分: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}
用于使 Watford 小写。为此,您需要将以下内容添加到httpd.conf
或虚拟主机配置文件中:
RewriteMap lower int:tolower
注意:上面的规则仅适用于域根(hisbusiness.com
) - 也就是说对hisbusiness.com/something
的请求不会触发重定向。如果您还想检查URI,请改用以下规则:
RewriteRule ^(.*)$ http://${lower:%1}.hisbusiness.com/$1 [R=302,L]
要使浏览器/搜索引擎永久重定向并进行缓存,请将302
更改为301
。
答案 1 :(得分: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]
。