Мои статьи [44] |
Статьи других авторов [53] |
Фотоподборки [14] |
Ucoz.ru [4] |
Photoshop [43] |
Софт [13] |
HTML [1] |
Байки из жизни [4] |
Главная » Статьи » Статьи других авторов |
Простой редирект (в файле .htaccess или httpd.conf для Apache):
где: Redirect 301 - это инструкция, говорящая что страница перемещена / - означает, что все с верхнего уровня сайта, включая все подкаталоги, будет переадресовано http://www.newsite.com/new.htm - новая страница или сайт (не забывайте поставить последний "/", если переадресация идет на сайт). Чтобы переадресовать только страницу, сохранив PR старой страницы:
где: /old/oldsite.htm - путь и имя старой страницы Аналогичный синтаксис для переадресации сайта:
Пример переадресации каталога:
Например, зашедших в test переадресуем на www.test.com, остальных на enter.test.com (порядок следования записей важен):
Примечание: для моих целей (изменение домена) хватило первого варианта простого 301 редиректа. Использование mod_rewrite (прописывается в файле .htaccess):Ставшая классической задача слияния имена сайта с www и без него, решается так:
или альтернативный синтаксис:
Обозначение [R=301,L] означает: перенаправить клиента и отправить ему код статуса 301 (R=301) и сделать это правило последним (L). Редирект старого домена на новый:
Например, если необходимо чтобы вместо rewrite.htm загружался файл rewrite.html, добавьте в .htaccess:
Для замены всех .htm файлов .html файлами:
Редирект на PHP
Лучше указать HTTP/1.1, так как более старые не поддерживают виртуальный хостинг. Не забудьте, что до вызова header, ничего не должно выводиться (например, echo или print). Поэтому этот код лучше ставить в начало php-скрипта. Более полный вариант php редиректа с сохранением передаваемой страницы и параметров вызова: $ref=$_SERVER['QUERY_STRING']; if ($ref!='') $ref='?'.$ref; header('HTTP/1.1 301 Moved Permanently'); header('Location: http://newdomain.com/'.$ref); exit(); ?> Редирект на ASP<%@ Language=VBScript %><%Response.Status="301 Moved Permanently" Response.AddHeader "Location", "http://www.new-url.com" response.end%> <%@ Language=VBScript %><% Response.Status="301 Moved Permanently" Response.AddHeader "Location", "http://www.new-url.com" response.end %>Редирект на ASP.NET
Редирект на ColdFusion
Редирект с помощью meta refresh
где0 - задержка переадресации в секундах, newdomain.com -страница, куда переадресуем. Некоторые старые браузеры не поддерживают meta refresh со значением 0, для совместимости можно установить ненулевой значение, хотя, на мой взгляд это уже не актуально. Такой редирект не сможет склеить ваши сайты (с www и без) и передать PR, так как игнорируется поисковыми системами. Он возвращает код 200 OK, что соответствует обычной странице. Эта техника популярна у спамеров, поэтому ее стоит применять только для страниц, которые не будут индексироваться. Редирект с помощью JavaScriptВарианты переадресации на JavaScript чаще реализуются с использованием функции setTimeout('функция', задержка). Например, автоматически сделать Click на кнопке "Submit" формы "searchform" через 0.1 сек после загрузки кода:
На кнопку "Submit" можно повесить любое действие, например, открыть новый url в этом окне. Кстати такое редиректы чаще встречаются при организации Дорвеев (DorWay) - браузер Пользователя будет переадресован на другую страницу, а поисковый робот, который "не понимает" JavaScript, будет индексировать эту страницу, недоступную пользователю. На ней дорвейщики размещают текст, напичканный "нужными" ключевыми словами. Чтобы просто переадресовать на другую страницу можно вставить после один из вариантов кода на JavaScript:
В последнем случае уже нельзя будет вернуться на страницу выполнившую переадресацию, так как ее адрес стирается из history, что нередко и нужною. Если нужна задержка по времени, можно оформить location="http://www.newdomain.com"; в виде функции и вставить ее в setTimeout('функция()', задержка_в_мсек); Редирект на JavaScrupt не является 301 редиректом и не передаст PR страницы, не сможет обеспечить ее склейку. Редирект в UCOZОсуществим всего тремя путями, поскольку ЦМС не поддерживает исполняемых на сервере команд, а также запрещает изменять файл .htaccess
Отметим дополнительно некоторые особенности редиректов:
ЗаключениеБезопасный способ редиректа старых страниц на новые или старого сайта на новый адрес, с сохранением позиций в поисковых системах, заключается в использование 301 редиректа, который также позволит вам передать старый Page Rank страницы на новый сайт. Более подробно про mod_rewrite можно прочитать на: http://www.engelschall.com/pw/apache/rewriteguide/ http://www.apache.org./docs/mod/mod_rewrite.html <Проверить корректность редиректа и других возвращаемых заголовков, можно, например, здесь: http://www.rexswain.com/httpview.html Автор: Сергей Брундасов | |
Просмотров: 888
| Теги: |
html-cсылка на публикацию | |
BB-cсылка на публикацию | |
Прямая ссылка на публикацию |
Самые популярные записи на сайте:
Всего комментариев: 0 | |