несколько способов сделать красивые url....что лучше?!

phpdev2007

Новичок
WP

хм это тот-же мод реврите крути не крути.
проще не писать постоянно вот такие правила!:
RewriteCond %{REQUEST_FILENAME} !/js/

есть способ проще для apache
в директории js/ помещаем отдельный файл .htaccess в нем:
RewriteEngine off
 

WP

^_^
phpdev2007
Я в курсе. Но лучше в основном конфиге.

-~{}~ 04.12.07 11:15:

Alexandre
Это аналоги.
 

Wicked

Новичок
кстати, друзья программисты...
интересно ваше мнение по поводу того, что если нормально описать роутинг, то он может пригодиться не только для конвертации чпу->внутренние_урлы, но и наоборот...

Напирмер, роутинг в symfony умеет творить такие чудеса, так что при изменении роутинга меняется только routing.yml, вместо всех-всех урлов в проекте.
Вот пример файла routing.yml
Код:
article_by_title:
  url:    articles/:subject/:year/:title.html
  param:  { module: article, action: permalink }
при котором будет происходить следующее:
PHP:
// The url_for() helper transforms an internal URI into an external URL
<a href="<?php echo url_for('article/permalink?subject=finance&year=2006&title=activity-breakdown') ?>">click here</a>
 
// The helper sees that the URI matches the article_by_title rule
// The routing system creates an external URL out of it
 => <a href="http://www.example.com/articles/finance/2006/activity-breakdown.html">click here</a>
подробнее: http://www.symfony-project.org/book/1_0/09-Links-and-the-Routing-System
 

daevaorn

Новичок
Конечно. Без reverse url resolving'а никуда. Без него очень сильно теряем универсальность.
 

vovanium

Новичок
internal URI into an external URL
А может быть проще сразу делать, чтобы нормально ЧПУ обрабатывались, чем всякие костыли для преобразования придумывать? ;)
И тогда будут реально ЧПУ, а не псевдо, у которых просто все те же параметры просто записываются через слэш и которые сама система без предварительного преобразования не понимает.
Как к примеру в этом symfony сделать структуру типа

site.net/ru/company/press/articles/2007/12/

где
ru - языковая версия
company - страница о компании
press - страница Пресса о компании (содержит статьи, новости из прессы)
articles - сами статьи о компании
2007 - параметр Год для статей
12 - параметр Месяц

т.е. для каждой страницы просто в самой системе указывается модуль обработчик, что позволяет делать любую вложенность страниц.
 

vovanium

Новичок
dark-demon
ну и толку от такого длинного урла?
Правильно зачем вообще пути, нужно все в корень кидать :)
Такой путь затем, что в каждом этом каталоге есть еще другие страницы (на каждой странице генерятся контекстное меню с вложенными страницами и т.п.).
Ты что никогда не имел дела с крупными корпоративными сайтами, у которых пару сотен страниц (не считая новостей и статей), 3-4 уровня вложенности вполне нормально.
 

Wicked

Новичок
vovanium
что-то я вообще не понял смысла параметров company/press/articles :) Что из них является динамикой?
 

vovanium

Новичок
Wicked
Что из них является динамикой?
В каком смысле динамикой? Это не параметры это названия страниц (у каждой может быть свой тип, и соответствующий модуль обработчик)
Это обычная структура сайта типа
Код:
ru
+- company
---- history
---+ boss
---+ licenz
---- press
-----+ news
-----+ articles
+- documents
+- programs
+- vakancy
+- dict
+- contacts
Зайди на сайт какого-нибудь мобильного оператора, или там страховой компании, банка и глянь сколько там разделов.
Или речь только о сайтах у которых есть только разделы новостей и статей? :)
 

dark-demon

d(^-^)b
vovanium, как показывает практика таксономия не справляется с большими объёмами разнородных данных. один и тот же ресурс может относиться сразу к нескольким позициям каталога.
например, чем у тебя новости отличаются от обычных статей? или, почему бы не располагать в новостях новые вакансии? или, где надлежит хранить документацию к программам, в documents/programs или же в programs/documents?

[тематическая реклама]
 

Фанат

oncle terrible
Команда форума
Вы, ребята, какой-то невообразимой херней занялись
Началось все с идиотского вопроса triumvirat к WP

С обсуждения СПОСОБОВ реализации ЧПУ перекинулись на обсуждение, сколько в ЧПУ должно быть палочек. С характерным для чайников желанием вырвать оппоненту горло за неправильный подход к проблеме. И отстоять Единственно Верное Количество Параметров В ЧПУ!
 

vovanium

Новичок
например, чем у тебя новости отличаются от обычных статей
Тем же что и у всех :) Я тебе набросал примерную структуру, и не спорю что это все можно сделать вообще одним уровнем...
Точно также в файловой системе можно все файлы пихать в корень диска, но как-то удобнее когда есть определенная структура.

где надлежит хранить документацию к программам
Это немного не то, это был пример с сайта страховой компании, где программы это страховые программы компании, а документы - законы касающие страхования.

И отстоять Единственно Верное Количество Параметров В ЧПУ!
Это не совсем параметры, это вложенность страниц, ведь ЧПУ, ИМХО, должно имитировать логичную структуру каталогов.

Вот для примера структура, с сайта одного украинского сотового оператора, как более человекопонятно:
/ru/personal/prepaid/services/always_together/
или
/ru/articles,view/always_together/
или
/ru/articles/always_together/
 

Фанат

oncle terrible
Команда форума
ЧПУ никому ничего не должны.
Искать единственно верное решение Партии и Правительства и опускать всех, кто с ним не согласен - идиотизм.
 

vovanium

Новичок
Искать единственно верное решение Партии и Правительства и опускать всех, кто с ним не согласен - идиотизм
А кто здесь кого опускает? Или ты не знаешь, что означает ИМХО?
Или форум уже как ГосДума в России не место для дискуссий?
 

Фанат

oncle terrible
Команда форума
Сделай лицо попроще. Было б о чем дискутировать.
Спор тупоконечников с тупоконечниками.
 

phpdev2007

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