Помогите с красивым чпу для новостей (самопис)

Xansen

Постоялец
Регистрация
30 Мар 2006
Сообщения
435
Реакции
124
подскажите пожалуйста на конкретном примере

в htaccess сейчас следущее:
RewriteRule ^news-([^/]*)\.html$ /view_news.php?id_news=$1 [L]


сейчас урл новости после реврайта выглядит так:
***/news-9228.html

нужно чтобы из этой новости брался заголовок и после транслитерации подставлялся в урл, т.е. чтобы урл выглядел так:
***/news/zdes-nazvanie-novosti.html

заранее спасибо
 
Тут одним реврайтом не обойдешься.
Надо иметь соответствующую поддержку в движке сайта.
К страницам сайта должно быть дополнительное поле в базе данных с ЧПУ именем, и модуль, который распознает страницы по этому полю и отображает страницу.
Если используется коробочная CMS, то у большинства подобных систем имеются готовые модули. А если собственная разработка, то в двух словах не опишешь.
 
в целом я понял. Нужно транслитерировать русское название новости и писать его в бд. А вот что дальше?
 
если не критично проще оставить чтобы новости выводились по id и в конце дописать транслитерированный тайтл например так
***/news-9228-zdes-nazvanie-novosti.html
тем самым вам придется только немного подправить код при выводе ссылок и htaccess
PHP:
RewriteRule ^news-([0-9]+)-(.*).html$ /view_news.php?id_news=$1 [L]
, а не заботится об уникальности транслитерированного текста который заносится в базу и является идентификатором новости
 
в целом я понял. Нужно транслитерировать русское название новости и писать его в бд. А вот что дальше?

найти соответствие названия и id, затем по id выводить новость. тогда циферок в УРЛе не будет.
 
найти соответствие названия и id, затем по id выводить новость. тогда циферок в УРЛе не будет.
а если найдется 2 новости с одинаковым тайтлом?!
Дело в том, что такое на самом деле бывает...
 
а если найдется 2 новости с одинаковым тайтлом?!
Дело в том, что такое на самом деле бывает...

правильно говоришь, на такую схему пошли почти все движки, например тот же битрикс...
название выводится но привязка все равно по id
 
Назад
Сверху