среда, 28 сентября 2011 г.

ЧПУ для CMS e107. Делаем красивые адреса страниц

Проблема отсутствия ЧПУ, или человекопонятных url – это проблема не только CMS e107, но и практически всех популярных бесплатных систем управления контентом. Хотя некоторые веб-мастера не видят ничего плохого в ссылках вида www.site.ru/?pageid=2, ведь главное – это не адрес страницы, а ее содержание. Однако, урл, приведенный в примере, не несет никакой информации о содержании страницы ни ее читателю, ни поисковому роботу. Кроме того, подобный адрес страницы трудно будет запомнить, если, к примеру, Вы увидели его на объявлении или в газете. Все эти моменты приносят некоторые неудобства посетителям сайта, а значит, требуют некоторой оптимизации.
Так подумал и я, создавая свой первый сайт на е107. Мне хотелось, чтобы адрес каждой статической страницы был максимально коротким, запоминающимся, а самое главное – имел непосредственное отношение к тому, что в ней написано! Поэтому стандартный адрес страниц вида http://mysite/page.php?8 меня совершенно не устраивал. И хотя в админке ЦМС-ки в разделе «Ссылки сайта» есть поле «url ссылки» для каждой страницы, при написании любого другого урла, отличного от стандартного, во время перехода браузер писал, что запрашиваемой страницы не существует. Тем не менее, воспользовавшись советом знакомых программистов, я решил прибегнуть к помощи файла .htaccess. Информация об этом инструменте есть даже на Википедии, однако чтобы сэкономить Ваше время я попробую все объяснить в нескольких предложениях. Для начала Вам нужно создать пустой файл без имени, но с разрешением .htaccess. Простыми инструментами Windows этого сделать не получится, поэтому сначала создайте обычный текстовый документ. Откройте его, и впишите следующее:
RewriteEngine On 
(эта строка включает специальный модуль сервера Apache)
Затем для каждой страницы отдельно с новой строки
RewriteRule ^pagename$ page.php?2 [L]
Где page.php?2 – стандартный адрес страницы, присвоенный e107, а pagename – нужный
человекопонятный адрес. После этого сохраняем текстовый файл, копируем в корневой
каталог сайта и переименовываем его в .htaccess. Таким образом, при обращении к странице www.mysite/pagename мы будем попадать на страницу www.mysite/page.php?2.
Однако это еще не все. На данном этапе мы будем иметь два различных урла для одной и той же страницы, но в меню сайта все равно будут ссылки, содержащие первоначальный адрес. Чтобы окончательно избавиться от них – снова заходим в раздел «ссылки сайта» в админке и в поле URL страницы прописываем ее новое имя. Вот теперь и пользователи, и поисковые роботы будут видеть только заданный Вами адрес страницы. Однако не забывайте, что если боты поисковиков заходят на Ваш сайт очень часто, то для каждой новой статической страницы нужно прописать ЧПУ как можно быстрее, чтобы они не успели «спалить» ее дефолтный адрес. 

0 коммент.:

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