Собственная реализация SEF

Discussion in 'Актуально, только не в тему' started by Cardinal, Aug 2, 2008.

  1. Cardinal
    Offline

    Cardinal Недавно здесь

    Joined:
    Jul 19, 2007
    Messages:
    82
    Likes Received:
    1
    Gender:
    Male
    Надо сделать дружественные людям урлы в неком собственном проекте. С mod_rewrite и .htaccess все понятно. Но неужели нет другого способа изменить ссылки в самих скриптах кроме прогона через некую функцию типа sefRelToAbs ?

    Например, как-нибудь парсить старницу при выводе, заменяя нужным образом атрибуты href у ссылок. Есть ли такие варианты?
     
  2.  
  3. Dead Krolik
    Offline

    Dead Krolik Недавно здесь => Cпециалист <=

    Joined:
    Apr 13, 2007
    Messages:
    3,685
    Likes Received:
    101
    Gender:
    Male
    Ответ: Собственная реализация SEF

    Конечно есть такие варианты. ob_start + прочие ob_* функции, лови содержимое страницы и регулярками выдирай адреса. Потом переписывай как тебе надо. Придется немного похакать джумлу.

    А собственно чем тебя уже существующее положение не устраивает?
     
  4. sectus
    Offline

    sectus Недавно здесь => Cпециалист <=

    Joined:
    Apr 19, 2006
    Messages:
    1,210
    Likes Received:
    46
    Gender:
    Male
    Ответ: Собственная реализация SEF

    Прогон через функцию - это хороший вариант, если писать свою функцию, то можно обойтись при составлении ссылки от Itemid и Option, или еще чего...
    Можно через буферизацию, а потом еще и мамботом добить: )
     
    Cardinal likes this.
  5. Cardinal
    Offline

    Cardinal Недавно здесь

    Joined:
    Jul 19, 2007
    Messages:
    82
    Likes Received:
    1
    Gender:
    Male
    Re: Ответ: Собственная реализация SEF

    Да это для своего "движка" небольшого, не для джумлы :) Просто выразился не совсем верно в 1ом посте. Ведь целом, варианты как раз с ob_start выглядят попроще - заодно и кеширование можно сделать и ссылки заменить. А если "через функцию", то ведь приходится вездее ее пихать, как sefRelToAbs. Какие плюсы у варианта с функцией?
     
  6. sectus
    Offline

    sectus Недавно здесь => Cпециалист <=

    Joined:
    Apr 19, 2006
    Messages:
    1,210
    Likes Received:
    46
    Gender:
    Male
    Ну, я прямо озадачился.
    Я думаю, что всеже сочетание таких подходов должно быть оптимально.
    Например, если будет редирект через php, то тут придется пользоваться прохождением ссылки через функцию.

    Ну еще с регулярными выражениями придется немного повозиться.
    Можно избавиться от различных повторяющихся конструкция типа: option=com_component&Itemid=$Itemid, но это только Joomla компонента
    Если понадобиться, чтобы некоторые ссылки превращались в яваскриптовские ссылки (а можно вообще на форму менять), то тоже надо будет придумать как регулярными выражениями это сделать.
    Небольшое понижение производительности при использовании регулярных выражений на всю страницу.

    Вот что вспомнилось мне.
     
  7. Cardinal
    Offline

    Cardinal Недавно здесь

    Joined:
    Jul 19, 2007
    Messages:
    82
    Likes Received:
    1
    Gender:
    Male
    угу...спасибо, будем пробовать :)
     

Share This Page

Loading...