Полный русский перевод плагина «Redirection» для WordPress
http://yoursite.com/oldpage/that/needs/redirecting/
URL источника в этом случае будет /oldpage/that/needs/redirecting/. URL источника не требует адрес Вашего сайта, только таким образом, можно перенаправлять URL, расположенные на Вашем сайте (к примеру, Вы не можете осуществлять перенаправления внешних источников).
Продвинутые пользователи могут создавать регулярные выражения, для сокращения количества записей создаваемых перенаправлений. Регулярное выражение представляет из себя шаблон, по которому будут обрабатываться правила. Для примера:
/(d*)/(d*)/(.*)
Данный шаблон будет соответствовать приведенному ниже URL:
/2007/05/some-url/
Здесь (d*) соответствует числу, а (.*) — любой последовательности символов. Вообще, регулярные выражения являются сложной темой и в данной статье они рассматриваться не будут. Если Вам требуется дополнительная помощь, поищите информацию на сайтах, посвященных данной тематике.
Помните, что если URL источника является регулярным выражением, Вы должны обязательно включить соответствующий пункт в настройках, иначе они будут обрабатываться как обычная строка.
В дополнение к URL, Вы можете указать одно из совпадающих условий:
- Только URL — соответствие только URL (скорее всего будет использоваться в большинстве Ваших правил)
- URL и реферер — будет срабатывать только при совпадении URL источника и реферера (т.е. сработает только тогда, когда посетитель пришел по ссылке с определенного сайта).
- URL и статус входа — сработает только в том случае, если совпадут URL источника и пользователь будет залогирован на Вашем сайте.
- URL и User-Agent — будет срабатывать при совпадении URL и только тогда, когда посетитель пользуется определенным браузером.
Эти правила могут работать как при совпадении, так и наоборот при несовпадении заданных условий. Например Вы можете перенаправлять пользователя на определенную страницу, если он не залогировался на сайте, можете перенаправлять посетителя при условии, что его браузер не совпадает с рекомендованным Вами или запретить доступ к чему-либо, перенаправив посетителя, если он пришел не с ожидаемого адреса (например не давать скачивать файлы напрямую, не перейдя по ссылке на сайте).
Действия
При совпадении вышеперечисленных условий, можно назначить одно из действий:
- Перенаправить на URL — используется по умолчанию, т.к. большинство редиректов используют именно его
- Перенаправить на случайную запись — таинство, которое возможно некоторым будет полезно
- Транзит — продвинутая функция, позволяющая Вам маскировать URL источника, т.е. когда в браузере будет отражаться один URL, а фактическая информация будет выдаваться с другого, скрывая это от посетителя.
- Ошибка 404 — вернет простое сообщение об ошибке 404
- Ничего не делать — может быть использовано просто, для отслеживания доступа к определенной странице
Настройка правил и действий
В зависимости от конкретного сочетания действий и совпадений, Вам могут потребоваться дополнительные настройки.
Простое перенаправление URL
Можно указать, какой именно http-код использовать для перенаправления (301, 302 или 307):
Несколько примеров:
/blog/(.*) => /$1
Все URL начинающиеся с /blog/, будут перенаправляться на тот же URL, но уже без /blog/. Например, обращение к странице по адресу /blog/2006/10/01/mypost будет перенаправлено на адрес /2006/10/01/mypost.
/2006/month_d+/(.*) => /2006/$1/$2
Это правило будет обрабатывать все URL, начинающиеся с /2006/month_ затем число/ и перенаправлять их на URL без month_. Для примера, при обращении по адресу /2006/month_1/something, посетитель будет перенаправлен на адрес /2006/1/something.
Для замены одного тире в URL пробелом, можно использовать следующую конструкцию:
/tags/(.*?)-(.*?) => /tags/$1%20$2
Перенаправление с использованием User-Agent
Это позволит настроить перенаправление, при использовании посетителем определенного браузера (User-Agent):
Заранее предопределенный тип User-Agent можно выбрать из выпадающего меню или назначить свой. Совпадение по User-Agent всегда обрабатывается как регулярное выражение.
Можно указывать два URL назначения, один будет использоваться при совпадении User-Agent, а другой при несовпадении.
Использование реферер
Похожие записи:



Комментариев к данной записи: 29
7 августа 2009
Спасибо за перевод!
20 августа 2009
Последние версии этого плагина 2.1.22 могут не работать со старым Wordpress, а именно эта версия, т.е. 2.1.20 прекрасно функционирует, раньше она была только на англиском, теперь благодаря этому переводу у нас есть и русский вариант. Спасибо.
20 августа 2009
В чем прелесть использования отдельных файлов перевода, так это в том, что их можно использовать и на более поздних версиях плагинов.
26 августа 2009
Спасибо
15 сентября 2009
начал заниматься продвижением своего блога, поменял вид ЧПУ и не знал как сделать редирект со старых страниц. спасибо автору плагина и Вам за перевод.
16 сентября 2009
Да я в общем то и сам перевод плагина начал делать по той же причине ))
20 сентября 2009
подскажите, пожалуйста, где настраиваются правила? Чувствую себя последним дураком, но никак не обнаружу.
20 сентября 2009
Управление | Перенаправления, там сразу добавить новое.
21 сентября 2009
возможно я неправильно выразился.
С добавлением перенаправлений нет проблем.
Но вот если создаешь перенаправление с проверкой реферера, то поля для указания реферера не наблюдается. где это указывать?
21 сентября 2009
Создаете правило редиректа с необходимыми правилами, в качестве условия выбираете URL и реферер. При создании заполнить поле реферер невозможно. Таким образом у Вас в списке появляется новое правило у которого в скобочках поле реферер обозначается пустым. Кликаете на вновь созданое правило, разворачивается поле его редактирования и там уже можно прописать реферер и более детально уточнить само правило.
25 ноября 2009
Спасибо за перевод!
У меня вопрос: этот плагин может помочь в моей ситуации? Дело вот в чём.
Когда я ставлю дефолтные пермалинки (вида /?p=123), всё работает нормально. То есть, навигация — без проблем. Но если выбрать типа «год/месяц» или собственные прописать, то при попытке сойти с главной в любую рубрику или любой пост, то получаю следующее:
Not Found
The requested URL /2009/11/24/testovij-post/ was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Что это означает и лечится ли данным плагином? А если да, то как?
Заранее спасибо за ответ!
26 ноября 2009
Нет, в данном случае этот плагин не поможет.
У Вас просто не работают пермалинки. Не работать они могут по нескольким причинам:
1. В апаче не подключен mod_rewrite, для работы пермалинков он необходим. Обращаться к хостеру.
2. Модуль подключен, но необходимые правила не прописались в файл .htaccess — проверьте его доступность на запись. Ниже пример такой записи:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress3. Правила прописаны, но все равно не работают — не обрабатывается файл .htaccess. Обращаться к хостеру.
Вот, кажется так ))
Надеюсь что помог
26 ноября 2009
Спасибо за исчерпывающее объяснение.
Второй вариант попробовал сразу. Не вышло.
Обратился к хостеру. Тот сказал, что включит.
Пока не включил. Так что я подыскиваю новый хостинг, на всякий пожарный.
13 декабря 2009
Добрый день!
Настраивал ЧПУ. Было /%category%/%post_id%.html
поставил /%category%/%postname%/
Вопрос: как правильно настроить 301 редирект с помощью плагина «Redirection»? Спасибо!
14 декабря 2009
Боюсь в этом случае настроить правила по шаблону не получится, т.к. фактически произошла смена имен, но в настройках плагина на такой случай предусмотрена функция слежения за изменением URL, которая будет автоматически создавать необходимые редиректы в подобных ситуациях.
Еще как вариант отслеживать обращения в модуле ошибок 404 и оттуда уже добавлять необходимые правила. Правда объем работы в этом случае будет прямо пропорционален количеству страниц ))
14 декабря 2009
Кстати вот еще подумалось...
Как вариант, вернуть пермалинки к прежнему виду, включить в настройках слежение за URL и после этого уже их изменить.
Не знаю получиться или нет, но попробовать можно.
25 декабря 2009
У меня стоит WordPress 2.8.6.
Ставлю Redirection. Все нормально, поставился. Захожу в Инструменты -> Перенаправления и пытаюсь настроить плагин, но столкнулся со следующей проблемой: при попытке добавить группу пишет «Пожалуйста, определите имя группы» (хотя название группы я указываю), тоже самое при попытке создания модуля — «Модуль не был создан — не указали имя?». Подскажите, в чем может быть проблема?
25 декабря 2009
Странно.
У меня таких проблем не возникало ни на 2.8.6, ни на более ранних, ни сейчас на 2.9
А версия плагина последняя установлена?
25 декабря 2009
Сорри, за второй коммент. Зашел врой раз на этот сайт и не увидил своего же коммента, написал еще раз.
...Версию ставил и по ссылке в этом после, и последнюю с официального сайта, причем и в ручном и в автоматическом режиме. Все равно. А может быть проблема с локализациями?
25 декабря 2009
нет, локализация тут абсолютно не при чем, т.к. она не затрагивает работу самого плагина.
Посмотрите, может в логах апача пишуться какие-нибудь ошибки, которые помогут локализовать проблему.
25 декабря 2009
В логах ничего нет. А вот кое-что как минимум странное заметил.
Возник вопрос, где Redirection хранит создаваемые Перенаправления, Группы, Модули? В базе данных?
Тогда странно, что после инсталляции модуля Redirection никаких таблиц, типа, «redirection_items», «redirection_groups», «redirection_logs» и «redirection_modules»(sql создания которых описан в функции install () в redirection\models\database.php) в базе данных нет
.
Но когда эта функция должна выполняться?
Добавил права пользователю wordpress на создание таблиц, но переустановка модуля никаких результатов не дала. В БД как небыло этих таблиц, так и нет. Есть какие-то соображения на этот счет? Я конечно могу в ручную создать таблицы, но как это впринципе должно автоматом работать?
25 декабря 2009
Все эти таблицы должны создаваться автоматом при инсталляции плагина, только что проверил на новом блоге, никаких проблем не возникло, все четыре таблицы создались.
Если честно, то не знаю в чем тут может быть проблема.
16 января 2010
Добрый день.
Подскажите, с помощью этого плагина можно запретить все страницы вида
site.ru/page?vsyakaya_fignya
Т.е. чтобы были только страницы
site.ru/page
Вид ошибки неважен, можно 404, 410, или 301 на site.ru/page
Спасибо
3 февраля 2010
Самое простое что пришло на ум
Создаете правило, где в качестве источника
В качестве назначения
В свойствах правила ставим галочку, что это регулярное выражение
P.S. Некоторое время отсутствовал, поэтому приношу извинение за задержку с ответом
1 апреля 2010
тут я описал все виды редиректов возможно поможет?
13 мая 2010
Здравствуйте.
Подскажите пожалуйста, как создать правило для редиректа, если структура была вида: site.com/article.html, а стала site.com/category/article.html. Т.е. в урл добавилась категория.
24 мая 2010
у меня урлы такого вида
damain.com/lkdjsfs
damain.com/=ksdjfi
damain.com/fvbcbt
damain.com/abrakadabra
и т.п.
я снес старый сайт и поставил вп, с помощью данного модуля я могу с этих урл поставить 301 редирект на главную?
15 июня 2010
Кто подскажет, после удаления плагина редиректы все равно работают. Как починить?
24 июня 2010
Искал как раз вот это правило /blog/(.*) => /$1 Спасибо!
А может еще можете подсказать можно ли объединить эти правила в одно:
/blog1/(.*) => /$1
/blog2/(.*) => /$1
/blog3/(.*) => /$1