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

Тема в разделе "Актуально, только не в тему", создана пользователем Cardinal, 02.08.2008.

  1. Cardinal
    Offline

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

    Регистрация:
    19.07.2007
    Сообщения:
    82
    Симпатии:
    1
    Пол:
    Мужской
    Надо сделать дружественные людям урлы в неком собственном проекте. С mod_rewrite и .htaccess все понятно. Но неужели нет другого способа изменить ссылки в самих скриптах кроме прогона через некую функцию типа sefRelToAbs ?

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

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Ответ: Собственная реализация SEF

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

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

    sectus специалист

    Регистрация:
    19.04.2006
    Сообщения:
    1 210
    Симпатии:
    46
    Пол:
    Мужской
    Ответ: Собственная реализация SEF

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

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

    Регистрация:
    19.07.2007
    Сообщения:
    82
    Симпатии:
    1
    Пол:
    Мужской
    Re: Ответ: Собственная реализация SEF

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

    sectus специалист

    Регистрация:
    19.04.2006
    Сообщения:
    1 210
    Симпатии:
    46
    Пол:
    Мужской
    Ну, я прямо озадачился.
    Я думаю, что всеже сочетание таких подходов должно быть оптимально.
    Например, если будет редирект через php, то тут придется пользоваться прохождением ссылки через функцию.

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

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

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

    Регистрация:
    19.07.2007
    Сообщения:
    82
    Симпатии:
    1
    Пол:
    Мужской
    угу...спасибо, будем пробовать :)
     

Поделиться этой страницей

Загрузка...