Красивые постоянные ссылки в WordPress.

WordPress

Tagged Under :

Во многих блогах на WordPress можно увидеть ссылки типа таких, http://blogname.ru/?p=123. Блог с такими ссылками обладает многими недостатками, во-первых, это создаёт дискомфорт для посетителей блога, а так же это плохо с точки зрения поисковой оптимизации. Поскольку поисковые системы при определении релевантности страницы обращают внимание на адрес ссылки, то лучше иметь ссылки с ключевыми словами. Например, если Ваш пост про рисование на яйцах, то желательно иметь ссылку на него следующего вида http://blogname.ru/resovanie-na-yaicax.

Сделать такие ссылки просто, зайдите в админской панели WordPress в “Параметры” и выберете “Постоянные сылки”. Выберете в “Общие настройки”  Произвольно и напишите в поле %postname%, это значит, что в адресе будет название поста. Там вы можете выставить всё что захотите, полный список тэгов и всё про постоянные ссылки можете найти тут. http://codex.wordpress.org/Using_Permalinks.Так же там можно выставить “Префикс для рубрики” и “Префикс для меток”. После того как Вы выставили все настройка, нажмите кнопку “Сохранить изменения”.

Настройка постоянных ссылок

Теперь начинается самое интересное. Если после изменений у Вас всё заработало, то поздравляю, но скорее всего у Вас что-то да не заработало. Для начала давайте разберёмся как всё это работает.

Такими красивыми ссылки делает специальный модуль для Apache mod_rewrite. Поэтому такие ссылки никак не будут работать без этого модуля. Если Вы работаете на виртуальном хостинге, то mod_rewrite, скорее всего уже подключен а если на своём сервере, то его придётся подключить самому.

Я рассмотрю, как устанавливать mods_rewrite в Apache2. Зайдите в директорию апачи в Linux это /etc/apache2, там два каталога /mods-available и /mods-enabled, по их названию понятно что в первом находятся все доступные модули а во второй все подключённые модули. Просто найдите в каталоге /mods-available нужный модуль, в нашем случае это файл rewrite.load и скопируйте его в /mods-enabled,

sudo cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

или сделайте ссылку в /mods-enabled на файл rewrite.load из /mods-available

sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

Модуль mod_rewrite работает с ссылками через специальный файл .htpaccess. .htpaccess - специальный файл который задаёт настройки того каталога в котором он находится. Короче, создаём файл .htpaccess в корневом каталоге блога, и записываем в него текст который предложит WordPress.

Если файл уже существует и открыт для записи, WordPress сам запишет в него всё нужное, после того как вы нажмёте кнопку “Сохранить изменения” в настройках постоянных ссылок.

Теперь надо заставить апача, позволять выполнять настройкам из файла .htpaccess. Для этого открываем конфигурационный файл Apache(/etc/apache2/apache2.conf) или конфигурационный файл виртуального хоста (/etc/apache2/sites-enabled/site) и в настройках домашнего каталога сайта ставим параметру AllowOverride значение All.

Это примерно будет выглядеть так.

       <Directory "/home/user/www/">
               Options Indexes FollowSymLinks MultiViews
              AllowOverride All
               Order allow,deny
               allow from all
       </Directory>

Вообще, всё написано тут http://codex.wordpress.org/Using_Permalinks но на английском, там так же рассмотрено изменение постоянных ссылок на других web-серверах, и много чего ещё.

Похожие посты.

  1. Статистика блога за июль.
  2. Редактирование шаблонов в WordPress.
  3. Поисковая оптимизация моего блога.
  4. Мой robots.txt

Оставить комментарий