Вопрос № 161217: Вечер добрый! На многих сайтах вижу имитацию папок, например: http://site.od.ua/param/2/id/5 Как я понимаю, это недалеко от http://site.od.ua/param=2... Точно не уверен. Как это делается? Выглядит красивее....
Вопрос № 161.217
Вечер добрый! На многих сайтах вижу имитацию папок, например: http://site.od.ua/param/2/id/5 Как я понимаю, это недалеко от http://site.od.ua/param=2... Точно не уверен. Как это делается? Выглядит красивее.
Отвечает: Cimus
Здравствуйте, Прим Палвер! ЧПУ (англ. Friendly URL) — веб-адреса, удобные для восприятия человеком (а также систем и методов построения таких адресов). Является аббревиатурой от словосочетания «Человеку Понятный Урл» («урл» — жаргонное для URL).
Концепция ЧПУ предполагает максимально лаконичные и интуитивно понятные адреса, которые показывают естественную для человека логическую структуру данных на сервере, а не её программный интерфейс с модулями и параметрами. Структуру обычно представляют в виде
иерархии как в обычной файловой системе, к которой привык пользователь.
Реализация Для веб-сервера Apache существует мощный модуль mod_rewrite, который включается в стандартный дистрибутив. Он обладает массой возможностей интерпретации URL перед обработкой необходимым модулем.
В большинстве случае в файле .htaccess указывается с помощью регулярного выражения формат URL, который должен быть обработан как другой URL. Например:
Код:
RewriteEngine on RewriteRule article/(d+)/? article.php?id=$1 [L]
Первая строчка включает mod_rewrite. Во второй указывается, что веб-сервер при запросе URL вида /article/450/ должен обратиться к /article.php?id=450 .
Обработка URL в собственном скрипте Разработчик
может вручную обработать URL и на основе него вызвать какую-то функцию. Для этого, чаще всего, нужно с помощью mod_rewrite направить все запросы одному скрипту для обработки. Для этого нужно добавить в файл .htaccess следующее содержимое:
Код:
Re
writeEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [L,QSA]
Скрипт index.php уже будет брать URL из переменной $_SERVER['REQUEST_URI'] и на основе каких-то настроек запускать необходимый код.
Приложение:
Ответ отправил: Cimus (статус: Студент)
Ответ отправлен: 23.02.2009, 20:27
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 244306 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо! Подробнее, наверно, и не бывает :)
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.