Редирект внешних ссылок

redirect-6246879Достаточно часто приходится ставить ссылки в редирект, это например очень удобно для разных реферальных ссылок на биржи. Для обладателей блогов на wordpress и других CMS можно воспользоваться плагинами, а для тех у кого нету плагинов, сайт статический, на blogspote (на с подключенным доменом) есть достаточно простое и изящное решение.

Не вдаваясь в подробности как все это работает сразу к делу, создаем в корне 2 файла:

linkslist.php

$linksList = array( ‘yandex’ => ‘http://www.yandex.ru’, ‘yahoo’ => ‘http://www.yahoo.com’, ‘google’ => ‘http://www.google.net’ );

?>

и redirect.php

require_once(‘linkslist.php’);

$request = $_SERVER[‘REQUEST_URI’]; $dest = explode(‘/’, $request);

$newUrlKey = end($dest);

if (array_key_exists($newUrlKey, $linksList)) { header(‘Location:’.$linksList[$newUrlKey]); } else {

header(‘Location:http://www.seozip.ru’);

}

?>

теперь осталось добавить в .htaccess следующие строчки

Options +FollowSymlinks RewriteEngine On

RewriteRule ^go/(.+) /redirect.php/$1 [L]

Все теперь вы можете добавлять на свой блог ссылки такого содержания http://www.seozip.ru/go/yandex. Не стоит забывать что ссылки лучше поставить в nofollow и noindex

Можно воспользоваться вариантом еще проще использую лишь один htacess, добавляя в него следующие строки
Redirect /go/example http://example.com и т.д. Вариант попроще, но не скрывающий своей реферальной принадлежности, в том же файле htaccess

RedirectMatch /go/(.*)$ $1

и можете использовать в виде http://example.com/go/example1.com

Помните эти варианты удобны лишь для реферальных ссылок с небольшим количеством, в промышленных масштабах они вряд ли подойдут и наверное не стоит закрывать все ссылки.

Источник и вдохновение: Как «спрятать» внешние ссылки. Небольшой PHP скрипт