Игорь А.
14 сообщений
#19 лет назад
Помогите настроить ЧПУ(ЧеловекоПростойУрл...так вроде)в жизни это Мод_реврайт....
Спасибо...
Желательно по порядку.=)
Александр К.
36 сообщений
#19 лет назад
ЧеловекоПонятныйУрл
В инете целая куча статей, и на форумах (phpclub.ru, sql.ru) это обсуждалось не раз и не два...
Максим Антонюк
21 сообщение
#19 лет назад
Дмитрий П.
441 сообщение
#19 лет назад
1. С помощью связки Apache+mod_rewrite перекидываешь все запросы на твой основной скрипт (это получается шаблон Front Controller). Я это делаю, добавляя в .htaccess вот этот кусок:
[code]<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^./]+)$ /$1/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/(.+)([^/])$ /$1/$2$3/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php [QSA,L]
</IfModule>
[/code]

Этот пример обрабатывает URL'ы вида /aaa/bbb/ccc/sssss/, на URL'ах типа /aaaaa/bbb/ccc/sss.html может запнуться, не проверял и не хочу

2. В index.php смотришь переменную $_SERVER['REQUEST_URI'] (это если работаешь с PHP) - это будет URL, который ввел посетитель, например, /papers/transducers/vw/.

3. Дальше в соответствии с логикой твоей системы парсишь URL, определяешь, что нужно отдать пользователю и отдаешь

Какая может быть логика разбора:
1. Искать URL в базе данных. Найден - отдавать контент, не найден - посылать 404
2. Сравнивать URL с шаблоном, лежашем в конфиге (например, с регэкспом типа ^/shop/perfume/(designer)/(?: (\d+)/){0,2}?$). Если совпадение есть - пытаться выдрать контент из базы и отдать пользователю. Нет контента или регеэксп не дал совпадений - 404

Можно придумать еще кучу вариантов, но эти два наиболее простые и удобные (в общем случае).

Надеюсь, идею донес в общих чертах
Василий Бруханда
1 сообщение
#19 лет назад
[quote="sukebe"]
Надеюсь, идею донес в общих чертах [/quote]

Мда, толково описал, спасибо, я кучу всего прочитал пока догнал, может ты начинай статьи писать типа кратенькие
Александр М.
16 сообщений
#18 лет назад
Написал как-то статейку:
Игорь А.
14 сообщений
#18 лет назад
[quote="SamDark"]Написал как-то статейку: ]http://rmc.net.ru/article/programming/goodurl/[/quote]
Спасибо.Просто и со вкусом.