Интересно? ЖМИ!!! 

Что ищем?
Все для Веб Мастера


Как сделать переадресацию страниц на сайте

Данный материал предоставлен сайтом webomast.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.

КАК СДЕЛАТЬ ПЕРЕАДРЕСАЦИЮ СТРАНИЦ НА САЙТЕ (301 РЕДИРЕКТ И ДРУГОЕ)

 

Как сделать переадресацию страниц на сайте

 

Как сделать переадресацию страниц на сайте: Часто в веб разработке необходимо делать переадресации с 1-ой странички (например, устаревшей) на другую. При этом перенаправление может исполняться различными методами — как с утерей веса страницы, так и без нее. Но об этом подробнее.

Как известно, всякая страничка со временем индексируется и содержит свой вес в сети. В случае, если страница делается не актуальной, ее разумеется можно удалить, но юзеры, которые перешли по ней, попадут на не существующий раздел web-ресурса и в результате его покинут. Лучше всего считается на подобные вэб страницы делать 301 редирект на действующие разделы сайта. Во-первых пользователь не увидит ошибку и важность старой страницы целиком перейдет к новой.

Переадресацию ресурсов возможно делать различными способами. Рассмотрим основные.

301 редирект через.htaccess

В корне вашего сайта есть файл (если его нет — создайте) под названием.htaccess. Откройте его на редактирование и используйте один из следующих способов.

Redirect permanent и Redirect 301 — легко делает 301 редирект с одной страницы на другую (или сайта). Первой идет старая ссылка сайта (заметьте — без домена), второй — ссылка на новую страницу (которая может быть этим же сайтом или вообще новым).

Примеры:
Redirect permanent /staraya-stranica.php http://newsait.ru/novaya-stranica.php
(здесь просто переадресуем с устаревшей страницы на новую)

Redirect 301 / http://newsait.ru/
(здесь / означает, что все начиная с главной страницы сайта и всех его подстраниц (поддиректорий) будет переадресовываться на новый домен; т.е. фактически переадресация с оного домена на другой.)

RewriteRule редирект — более сложный редирект, чем предыдущие варианты. Требует для правильной работы подключение модуля mod_rewrite на хостинге (обычно всегда включен). Часто этот метод используют для переадресации страниц с www на такие же без www и обратно. Рассмотрим их:

Редирект домена с www на не-www
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Редирект с не-www на домен с www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

301 редирект с домена на домен и исключением для ссылки /market/vm2_market.xml. Т.е. все запросы (кроме /market/vm2_market.xml), со старого домена на новый будут выполняться.

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/market/vm2_market.xml$
RewriteRule ^(.*)$ http://newdomen.ru/$1 [L,R=301]

301 Все запросы (кроме /market/vm2_market.xml и ссылки /texts (и всеми ее «подссылками»)), со старого домена на новый будут выполняться. Также здесь работает правило переадресации определенной подссылки (RedirectMatch 301)

RewriteEngine on
RedirectMatch 301 ^/texts/data/msg/(.*)\.png$ http://olddomen.ru/texts/data/rimage/msg.php?id=$1
RewriteCond %{REQUEST_URI} !^/texts*
RewriteCond %{REQUEST_URI} !^/market/vm2_market.xml$
RewriteRule ^(.*)$ http://newdomen.ru/$1 [L,R=301]

RedirectMatch 301 — еще один хороший метод редиректа, он похож на Redirect 301, но имеет больший функционал. А именно, с его помощью можно делать редиректы на основе регулярных выражений.

Примеры:
RedirectMatch 301 ^/olddirectory/ http://blogprogram.ru/newdirectory/
(Здесь переадресует всю директорию на новую)

RedirectMatch 301 ^(.*)$ http://blogprogram.ru
(Переадресует все страницы со старого домена на новый с помощью 301 редиректа (вес также передается на новый сайт))

RedirectMatch 301 (.*)\.html$ http://blogprogram.ru$1.php
(Смена страниц с html расширения на php расширение)

RedirectMatch 301 /dirA/(.*)\.php$ http://blogprogram.ru/dirB/$1.php
(Запускает перенаправление из директории dirA в директорию dirB только при обращении к PHP скриптам.
http://blogprogram.ru/dirA/page.php -> http://blogprogram.ru/dirB/page.php — сработает
http://blogprogram.ru/dirB/page.html — не сработает)

Синтаксис для регулярных выражений
. — Точка заменяет произвольный символ.
[abc] — обозначает перечень символов, совпадающих с буквами a, b, или с.
[^abc] — перечень символов, которые не входят в указанных диапазон. Совпадёт с любым символом, кроме a, b, или с.
* — означает, что предшествующий символ может повторяться (0 или более раз).
[abc]* — команда найдёт идущие подряд символы из заданного набора.
[^abc]* — с точностью до наоборот.

.* — заменяет абсолютно любой набор символов. «.*» — найдёт все подстроки между кавычками.
^ — начало строки (в том случае, если используется в начале выражения).
$ — обозначает конец строки.

\w — буква, цифра или подчёркивание _.
\d — заменяет любую цифру.
\D — заменяет любой символ, но не цифру.
[0-9] — заменяет любую цифру.
[a-z] — любая буква от a до z (весь латинский набор символов) в нижнем регистре.
[A-Z] — любая буква от A до Z в ВЕРХНЕМ регистре.
[a-zA-Z] — любая буква от a до Z в любом регистре.
[a-Z] — то же самое.

Спецсимволы, используемые в правилах и их значения.
^ — спецсимвол начала строки;
$ — спецсимвол конца строки;
! — спецсимвол отрицания;
. — точка, заменяет любой символ, но только один;
() — группировка;
\ — «экранирующий» слеш, следующий символ после него считается обычным, а не спецсимволом.

Модификаторы используются после обычных, спецсимволов или их групп и позволяют расширить возможности шаблонов для срабатывания правил.
? — символ повторяется 0 или 1 раз.
+ — повторяется от 1 до 65536 раз.
* — повторяется от 0 до 65536 раз.

Флаги, задают доп. опции для используемого правила. Перечисляются в квадратных скобках через запятую, скажем [NC] или [R=301,L].
NC — флаг NoCase, отключающий проверку регистра символов при срабатывании правила.
R — флаг Redirect, производит процесс остановки изменения URL-адреса и возвращает результат. Чаще всего используется значение R=301, но возможны и другие для временных перенаправлений (302, MOVED TEMPORARY).
L — флаг Last, останавливает формирования URL-адреса и строка считается окончательной.

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

Пример:
<?php header(«HTTP/1.1 301 Moved Permanently»);
header(«Location: http://blogprogram.ru/category/»); exit(); ?>

Редирект через javascript. Также переадресацию можно сделать и на обычном javascript (правда без передачи веса страницы).

Пример:
<script>window.location=»http://blogprogram.ru/category/»;</script>
(обычная переадресация на страницу сайта)
<script>alert(«Сейчас вы будете переадресованы!»); window.location=»http://blogprogram.ru/category/»;</script>
(обычная переадресация на страницу сайта перед которой пользователю выводится сообщение)

Скачать любой софт - с помощью загрузчика на высокой скорости...
Предлагаем Вам скачать и установить программу для поиска и скачивания медиафайлов, игр и необходимого софта. Программа позволит Вам загружать любые фильмы, музыку, программы и многое другое без каких-либо ограничений. Вдобавок данный загрузчик поддерживает огромное количество открытых торрент-трекеров. Также доступен онлайн просмотр фильмов, прослушивание музыки с помощью встроенного медиапроигрывателя. 
В А Ж Н О!!! При установке загрузчика устанавливается дополнительное ПО, если в нем нет необходимости, то снимите галочки в процессе установки загрузчика.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

три + одиннадцать =

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

| |

Подписаться на рассылку

Подпишитесь на обновления и новые публикации.


Авторерайт статей

Нужен уникальный контент? Есть выход…

Программа для автоматического рерайта текстов. ЖМИ

Популярное на сайте