Как сделать такой редирект?

T
На сайте с 09.07.2008
Offline
58
561

Здравствуйте.

Посоветуйте, пожалуйста, как сделать редирект в таком случае:

my_site.com/direct.php?abc=1 -> site1.com

если abc=2

my_site.com/direct.php?abc=2 -> site2.com

Как такое организовать в .htaccess или на php?

A
На сайте с 06.02.2015
Offline
2
#1

возможно такие варианты:

1) Redirect 301 /direct.php?abc=1 http://site1.com

2)

RewriteCond %{HTTP_HOST} my_site\.com/direct.php?abc=1$

RewriteRule (.*) http://site1.com$1 [R=301,QSA,L]

через .htaccess

T
На сайте с 09.07.2008
Offline
58
#2

чёт не хочет с параметром. :0(

может как-то через php можно сделать?

A
На сайте с 06.02.2015
Offline
2
#3

RewriteCond %{REQUEST_URI} /direct.php?abc=1$

RewriteRule ^(.*)$ http://site1.com/ [R=301,L]

можно так еще попробовать

M
На сайте с 04.12.2013
Offline
223
#4

Лучше на php. Исходные ссылки не помешало бы сократить до my_site.com/2 или my_site.com/go/2

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
T
На сайте с 09.07.2008
Offline
58
#5

ну вся суть вопроса именно в том, чтобы редиректить по параметру.

можно это на php осуществить?

J
На сайте с 20.02.2014
Offline
120
jkm
#6

Параметры запроса следует искать в %{QUERY_STRING}


RewriteEngine On
RewriteCond %{QUERY_STRING} =abc=1
RewriteRule ^direct\.php$ http://site1.com/? [R=301,L]

Ну или так


RewriteCond %{QUERY_STRING} ^abc=(\d+)$
RewriteCond %1;;1=site1.com;2=blabla.com;3=lol.net ^(\d+);.*;\1=([^;]+)
RewriteRule ^direct\.php$ http://%2/? [R=301,L]
S
На сайте с 02.05.2014
Offline
61
#7
turbofox:
ну вся суть вопроса именно в том, чтобы редиректить по параметру.
можно это на php осуществить?

Конечно можно, примерно так:

$abc=$_REQUEST["abc"];

if ($abc==1){
header("Location: http://site1.com/");
}elseif($abc==2){
header("Location: http://site2.com/");
}
T
На сайте с 09.07.2008
Offline
58
#8

Sujcnm, jkm, кайф. :0) Спасибо! Оба варианта работают.

root
На сайте с 04.07.2006
Offline
196
#9

Для бесконечного количества сайтов:

if ($_REQUEST["abc"]>0){

header("Location: http://site".$_REQUEST["abc"].".com/");

}

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий