Проектирование: постоянный адрес ссылки URL


Настройка постоянной ссылки: постоянные ссылки ЧПУ и htaccess. Как сделать постоянные ссылки с помощью mod rewrite htaccess? О постоянных ссылках в CMS wordpress и других движках. Как преобразовать URL-адрес в ЧПУ? Человеко-понятные УРЛ для страниц. Настройка постоянных ссылок URI.
htaccess: постоянные ссылки ЧПУ
Описание вебсайта
Проектирование сайта

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

Постоянная ссылка (Permanent Links) каждой страницы очень важно для оптимизации сайта в поисковых системах. Даже в рекомендациях Яндекса и Гугла можно прочесть о том, что поисковые роботы лучше воспринимают сайты с ЧПУ ссылками, нежели урлы с встречающимися в них знаками вопросами и порядковыми номерами статьи.

Постоянная ссылка: настойки постоянных ссылок

Настройку постоянных ссылок поддерживает не каждый движок (cms), однако вы в любом случае, сможете преобразовать в ЧПУ некорректный вид ссылки, используя директивы .htaccess. В WordPress и многих других современных движках вы найдете эту опцию настройки ЧПУ, встроенную непосредственно в cms. Для этого необходимо, чтобы хостер позволял вам вносить изменения в htaccess. По дефолту во многих движках установлены ссылки вида ?p=post, но для оптимизации сайта намного лучше использовать ссылки вида /post-name/, либо /category/post-name/.

Если вы неожиданно решили изменить адреса страниц на постоянные ссылки в wordpress, вам поможет плагин Redirection plugin, который будет создавать 301 ошибку, если страницы больше не существует. Это позволит вам изменять постоянные ссылки в SEO-подобные без необходимости использования чего-нибудь еще и не беспокоиться о результатах поискового продвижения.

Постоянный адрес вашей ссылки .htaccess ЧПУ

Если ваш движок все-таки не поддерживает чпу, вы можете настроить .htaccess, чтобы сделать ссылки постоянными.
Для начала убедитесь, что у Вашего хостера установлен mod_rewrite.
Первой строчкой включаем Rewrite Engine:


RewriteEngine on
RewriteBase /

Далее мы должны дать понять нашему серверу, по каким правилам он должен выдавать содержимое. Начнем с самого простого:


RewriteRule ^script.html$ script.php

Теперь мы можем вызвать script.php, как script.html (символ $ означает конец строки - в нашем случае правила перезаписи, через пробел указан реальный файл). Но что делать, если у нас есть динамично изменяющийся параметр в адресе?


RewriteRule ^news/([0-9]+).html$ news.php?id=$1

В этом примере параметр id скрипта news.php может принимать лишь числовые значения - о чем нам говорит место "([0-9]+)". Сформированный адрес будет выглядеть как news/1.html вместо news.php?id=1. Тут в принципе всё просто - но у Вас, скорее всего, возник вопрос "а что делать если динамично изменяющийся параметр принимает буквенные значения?" - просто пишем "([a-z]+)" - не стоит радоваться тут мы разрешили писать лишь буквы в нижнем регистре - а есть ещё и верхний, тогда "([A-Za-z])+". Если у Вас используются русскоязычные заголовки, напишите ф-ю для перевода кириллицы в транслит.

RewriteRule ^cat/([0-9]+)/page/([0-9]+).([A-Za-z]+).html$ arhive.php?cid=$1&page=$2&author=$3

В итоге у вас получится файл следующего содержания:


RewriteEngine on
RewriteBase /
RewriteRule ^script.html$ script.php
RewriteRule ^news/([0-9]+).html$ news.php?id=$1
RewriteRule ^cat/([0-9]+)/page/([0-9]+).([A-Za-z]+).html$ arhive.php?cid=$1&page=$2&author=$3.

Настройка постоянных ссылок URI
SEO для вебсайта
Ссылка на страницу: http://com-seo.ru/htaccess-postoyannye-ssylki-url-cnc-chpu-uri.html © 2013 Москва Россия