Изменение URL сайта или постоянных ссылок на существующие записи блога

Изменение URL-адресов

Допустим, что вы переносите сайт на другой домен, или появилась необходимость изменить вид URL-адресов записей блога. В "Общих настройках" раздела "Постоянные ссылки" (Permanrnt links) задаем в поле "Произвольно"

вместо /%year%/%monthnum%/%postname%/ - год/месяц/имя-поста (записи блога)
просто /%postname%/ - только имя поста
или /%category%/%postname%/ - категория/имя поста

Все хорошо, да не все.

В кэше поисковиков, в закладках и т.д.  станицы, для которых вы изменили адрес, хранятся по старым адресам.

Для того чтобы эти страницы были найдены по новым адресам, нужно задать перенаправление (редирект). Это можно делать по-разному. Рассмотрим типичный случай, когда сайт WordPress находится на сервере Apache, и редирект можно задать в конфигурационном файле .htaccess, который находится в корне сайта.

Перенаправление в файле .htaccess

Весь сайт без изменений

Перенаправление на другой сайт при любом обращении к данному сайту на новый сайт (код ошибки 301 указывает на перемещение страниц сайта на постоянной основе):

Redirect 301 / http://www.newsite.ru

После изменения структуры URL-адресов записей блога

Если изменены постоянные ссылки на существующие записи блога, как показано выше, добавляем в файл .htaccess блога инструкции (в этом блоге имеются записи за 2009 и 2010 годы):

Options +FollowSymLinks
RewriteEngine on
RewriteRule 2(009|010)/([0-9]{2})/(.+) http://studyenglishnow.ru/$3  [R=301,L]

(На сервере должен быть включен модуль mod_rewrite)

2 комментария на «Изменение URL сайта или постоянных ссылок на существующие записи блога»

  1. Максим говорит:

    Всем привет!
    Ситуация следующая:
    - в wordpress есть ограничение на количество символов в URL и при генерации URL на русском его обрезает.
    Действия:
    - т.е. при создании записи, указываем заголовок записи:
    Что то там что в заголовке
    - далее генерируется:
    Постоянная ссылка: http: //сайт.ru/что-то-там-что-в-заголовке.html
    Вопрос:
    Как увеличить длину кирилического slug в вордпресс?

    Мои действия при решении вопроса:
    - открываю файл:
    /wp-includes/post.php
    заменил все встречающиеся в файле значение 200 на 500
    - далее открываю БД:
    меняю:
    post_name varchar(200)
    на:
    post_name varchar(500)

    Мои действия по решению вопроса - решают его частично.
    Т.е. всё работает, но обрезает на уровне генерации в этой строки:
    Постоянная ссылка: http: //сайт.ru/что-то-там-что-в-заголовке.html
    Если нажать кнопку "Изменить" и добавить обрезанный текст и нажать "ОК", то всё сохранятся и не обрезается.

    Начал искать что отвечает за этот блок:
    Постоянная ссылка: http: //сайт.ru/что-то-там-что-в-заголовке.html
    Нашёл:
    /wp-admin/edit-form-advanced.php
    строка 592:
    Код:

    А дальше, я не знаю куда двигаться. Где стоит "обрезалка" не пойму.
    Просьба помочь разобраться.
    Заранее благодарю!

    • Admin говорит:

      см. core.trac.wordpress.org/ticket/10483 - советуют использовать
      плагин wordpress.org/plugins/longer-permalinks/
      и есть ссылка на статью: ardua.ru/cyrillic-length-url (инструкция по изменению длины URL в WordPress)

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

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