Блог старого компьютера

Блог старого компьютера


Главная Разное Приводим ссылку в красивый вид - rewrite

Приводим ссылку в красивый вид - rewrite

15.05.2013 05:43 Администратор Разное
Печать PDF

Сегодня я расскажу как из некрасивой ссылки сделать красивую. Конечно же как правило человеку совершенно все равно какая ссылка и просматривая по сотне интернет страниц в день мы вряли заостряем свое внимание над тем как выглядит url страницы, нам главное чтоб информация представленная на странице соответствовала нашим запросам. С людьми все понятно, а вот поиск лучше относится к страницам у которых из названия понятно что на ней размещено, то есть url страницы это название в транслите. Пример хорошей ссылки : recept-deserta.html. Пример плохой ссылки index.php?article=3 . Хоть мы и не поиск, но отлично видим разницу и склоняемся к первому примеру.

Превращать ссылку мы будем с помощью модуля mod_rewrite. Mod_rewrite это модуль сервера apache, модуль служит для изменения url страницы. Поскольку модуль является довольно гибким то он еще и довольно сложный для новичка, поэтому мы не будем досканально все изучать, а рассмотрим простой пример перевоплощения адреса страницы.

Будем делать из такого вида /index.php?article=recept-deserta такой /recept-deserta.html

Для этого добавьте на ваш сервер новый домен, либо поддомен, лично я использую денвер, и для создания нового домена создаю в папке home папку с названием нового домена, а в нее кладу папку с названием www, а уже в эту папку кладу файлы проекта. После добавления домена если вы используете денвер то перезагрузите его.

В папке создайте 2 файла. Первый это index.php второй это .htaccess. Второй под виндой создать неудасться для этого используйте какой нибудь алтернативный клиент например тотал командер.

Файл index.php будет выполнять у нас роль сайта, а  .htaccess отвечать за работу модуля mod_rewrite.

В файл index.php поместите следующий php код:

echo "вы сейчас на странице ".$_REQUEST['article'];

 В файл .htaccess такой код:

RewriteEngine On
RewriteRule ^(.*)\.html$ /index.php?article=$1

 Сложного ничего нет в представленых кодах. В первом коде мы с помощью echo выводим значение глобальной переменной на экран. Во втором коде в первой строчке включаем модуль rewrite, во второй строке с помощью регулряного выражения берем из ссылки кусок от слеша до .html и подставляем его к ссылке в нужный параметр. Благодаря этому  у нас получается что ссылка типа /index.php?article=recept-deserta становится синонимом вот такой ссылке /recept-deserta.html.

Откройте так называемый наш сайт с одним типом ссылки потом с другим. В итоге результат будет один. вот вроде бы и все, по сути ничего сложного нету. Дальше я думаю вы уже сами сообразите как выводить содержимое страницы из базы данных с помощью такой ссылки, в данном случае у вас в базе данных должен хранится alias страницы. Под словом alias в данном случае подразумевается строка по типу recept-deserta.

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


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела