Показать сообщение отдельно
Старый 19.07.2009, 00:52 Вверх   #1
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
Хорошо Все способы редиректа в одном флаконе

В этой статье собраны все способы перенаправления (редиректа) пользователей или просто http-запросов. Если что-то было упущено — пишите комментарием, и я дополню обзор.

JavaScript

Загрузить страницу в окне можно следующими способами:

Код:
location="http://bormotuhi.net";
document.location.href="http://bormotuhi.net";
window.location.reload("http://bormotuhi.net");
document.location.replace("http://bormotuhi.net");
Редирект на javascript подействует на браузер обычного пользователя (если включен js), но не на поискового робота. Этот факт используется при создании дорвеев.

Еще один способ перенаправления с помощью javascript - сабмит пустой формы: создается специальная форма с урлом назначения в параметре action и в требуемый момент эмулируется submit.

ASP.NET

301-редирект на asp.net:

Код:
<script runat="server">
private void Page_Load(object sender, System.EventArgs e) {
   Response.Status = "301 Moved Permanently";
   Response.AddHeader("Location","http://bormotuhi.net");
}
</script>
ColdFusion

301-редирект с помощью coldfusion:

Код:
<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://bormotuhi.net">
Meta теги

Код:
<meta http-equiv="refresh" content="1; url=http://bormotuhi.net">
Здесь:
content - время, в секундах, через которое произойдёт переход (в текущем случае 1); url - адрес, на который произойдёт переход. Стоит осмотрительно использовать этот способ, так как он "пользуется успехом" у спамеров - соответственно может наказываться поисковыми системами.

ASP

301-редирект с помощью asp:

Код:
<%@ Language=VBScript %>
<%
   Response.Status="301 Moved Permanently"
   Response.AddHeader "Location", "http://bormotuhi.net"
   response.end
%>
PHP

Переадресация на php реализуется с помощью функции header, отсылающей заголовки:

PHP код:
<?php
   header
("HTTP/1.1 301 Moved Permanently");
   
header("Location: http://bormotuhi.net");
   exit();
?>
Ниже представлен вариант 301-переадресации с сохранением запрашиваемой страницы и get-параметров:

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

Следующая строки определяют, что все запросы, кроме запросов к файлам с расширениями .gif и .jpg, будут перенаправлены на файл index.php

Код:
RewriteEngine On
RewriteRule !.(gif|jpg)$ index.php
Если посетитель имеет IP-адрес 192.168.11.1, то ему будет открыта страница data.html:

Код:
SetEnvIf REMOTE_ADDR 192.168.11.1 REDIR="redir" 
RewriteCond %{REDIR} redir 
RewriteRule ^/$ /data.html
Удаление префикса «www.» из адреса - перенаправление с http://www.bormotuhi.net на http://bormotuhi.net:

Код:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.bormotuhi.net$ [NC]
RewriteRule (.*) http://bormotuhi.net/$1 [R=301]
.htaccess

Перенаправление всех запросов на другой адрес:

Код:
redirect / http://bormotuhi.net
Переадресация при запросе определённых страниц:

Код:
redirect /pages http://bormotuhi.net/pages
redirect /forum http://forum.bormotuhi.net
или:

Код:
redirect 301 / http://bormotuhi.net
Чтобы перенаправить только одну страницу, сохранив PR старой:

Код:
redirect 301 /old-page.html http:// bormotuhi.net /new-page.html
Автор: 3hrek

Последний раз редактировалось Serberg; 04.06.2011 в 15:34..
  Ответить с цитированием
Cказали cпасибо:
 
Время генерации страницы 0.06698 секунды с 10 запросами