Сейчас: 03:42:19   25-го апреля 2024 г.
UsefulScript.ruСкриптыРазныеРедирект и переадресация
10
27

Редирект или принудительная переадресация

Для начала расскажем, что такое редирект. Редирект - (Англ. Redirect - перенаправление) программное решение или скрипт, который автоматически (принудительно) перенаправляет пользователя с выбранной веб-страницы на другую веб-страницу.


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

Самым простым способом является добавление в шапку сайта между тегами <head></head> следующего кода:

HTML код:
<meta http-equiv="Refresh" content="5; URL=http://usefulscript.ru/forum/index.php">

Где content="5; URL=http://usefulscript.ru/forum/index.php" означает, что через пять секунд посетитель данной странички будет автоматически перенаправлен на новую страничку с адресом http://usefulscript.ru/forum/index.php.


Но есть один маленький недостаток данного метода - не передается PR. Также при смене домена, данную строчку необходимо будет прописать на всех страничках сайта. В подобных случаях (при смене домена) лучше воспользоваться 301 редиректом при помощи файла .htaccess. Для этого пропишите в файле .htaccess, расположенного на сервере в корневой папке сайта, следующие строки:

Цитата:
Options +FollowSymLinks
RewriteEngine on
RewriteRule 
(.*) http://www.newdomain.com/$1 [R=301,L]

Еще 301 редирект при помощи файла .htaccess может быть полезен, если вы хотите слить доменные имена сайта с www и без него. Делается это при помощи добавления в файл .htaccess, расположенного на сервере в корневой папке сайта, следующего кода:

Цитата:
Options +FollowSymLinks
RewriteEngine on
RewriteCond 
%{HTTP_HOST} ^usefulscript\.ru
RewriteRule 
^(.*)$ http://www.usefulscript.ru/$1 [R=permanent,L]

Для получения редиректа при помощи PHP, воспользуйтесь следующим PHP кодом:

PHP код:
<?php
 $ref
=$_SERVER['QUERY_STRING'];
 if (
$ref!=''$ref='?'.$ref;
 
header('HTTP/1.1 301 Moved Permanently');
 
header('Location: http://newdomain.com/'.$ref);
 exit();
?>

Для получения редиректа при помощи JavaScript, воспользуйтесь следующим кодом:

JavaScript код:
<b>Мы переехали на новый домен.<br>
Через 5 секпроизойдет автоматическое перенаправление!</b>
<
script type="text/javascript">
function 
redirect() {
 
location="http://usefulscript.ru";
}
setTimeout('redirect()'5000);
</script>

В результате выполнения данного JavaScript кода, пользователь увидит сообщение о смене домена, после чего, через пять секунд его автоматически перенаправит на новый адрес.

Дата создания: 23:10:07 13.10.2011 г.
Дата обновления: 22:36:47 08.03.2012 г.
Посещений: 19365 раз(а).

Комментарии посетителей (3 шт.):
Вопрошалка
0
# 42
(16:58:02  25.11.2011 г.)

Не знаю, сможете помочь или нет, но вот... Делаю 301 редирект таким образом:
Redirect 301 /stat/page.htm http://www.sait.ru/question/page.htm

Все хорошо, но конечная ссылка, на которую производится переход после редиректа, выглядит как:
http://www.sait.ru/question/page.htm?url=stat/page.htm

Как избавится от этого вопроса и ненужного окончания?

Если можно, то ответ на почту, так как не нашел как подписаться на комментарии.
Ответить

Administrator
1
# 43
(19:03:31  25.11.2011 г.)

Попробуйте вот так:
Redirect 301 /stat http://www.sait.ru/question/

А еще лучше поищите в коде что-нибудь похожее на $_SERVER['HTTP_REFERER'], возможно где-то к адресу прибавляется эта переменная.
Ответить

Никита
0
# 4593
(19:58:53  14.01.2020 г.)

Здравствуйте!
Подскажите, а если сайт заблокированный Роскомнадзором. Как сделать правильный редирект да так чтобы редирект сработал.
Ведь почему-то редирект не успевает сработать, сразу выскакивает ограничение провайдера.
Но вот было замечено на других сайтах (с блокировкой) - что редирект работает!
Спасибо.
Ответить

Закрыть
Ваше имя:
483 + 1 =
Добавить комментарий:
Ваше имя:
483 + 1 =

Перед публикацией все комментарии проходят обязательную модерацию!

Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
Посетителей онлайн: 4

Какую CMS для сайта Вы предпочитаете?