将唯一URL重定向到不同的URL

时间:2015-11-27 12:10:46

标签: php .htaccess mod-rewrite redirect url-rewriting

所以我一直在摆弄一个想法,我似乎无法让它发挥作用。

我有一个人们分享我的网站的游戏,每个分享都有他们独特的代码 -

mydomain.com/?1234567

我想要实现的是,如果一个人直接访问我的网站

mydomain.com他/她将留在该页面上,但如果用户来自一个唯一的7号码,那么他/她将被发送到anotherdomain.com

我尝试使用.htaccess,但只能重定向唯一网址,同时重定向主域名,与我想要的完全相反。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain\.com/?$1 [NC]
RewriteRule ^(.*)$ http://anotherdomain.com/ [R=301,L]

如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

尝试:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain\.com [NC]
RewriteCond %{QUERY_STRING} ^[0-9]{7}$
RewriteRule ^(.*)$ http://anotherdomain.com/ [R=301,L]

上面的正则表达式 - ^ [0-9] {7} + $ 将匹配查询字符串中最大长度为7的任何数字,如果匹配则该网址将重定向到新位置

答案 1 :(得分:1)

试试这个:

$url =  $_SERVER['REQUEST_URI'];
$array = explode('/', $url);
$var = $array[1];

if(strlen($var) == 7){
  header("HTTP/1.1 301 Moved Permanently");
  header("Location: http://anotherdomain.com");
  exit;
}