LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 21:11:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1] 2 3  Все   Вниз
  Добавить закладку  |  Печать  
Автор Тема: БыстроSEF как концепция (взгляните, будьте то  (Прочитано 24788 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dead Krolik
Joostina
*****

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 245


Теперь я рыбка


« : 06.04.2008, 22:27:04 »

Собственно, идея выросла в моем мозгу уже давно - все сефы требуют для работы БД и как правило очень не плохо хавают системные ресурсы. А потому самым оптимальным для не требовательных сайтовладельцев будет сеф, базирующийся на текстовых файлах.

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

Для примера сделан сеф только для com_content: просмотр статьи + просмотр раздела, com_rss и com_weblinks.

Жду тестирования по сути и общий взгляд на проблему.

Для установки - включить сеф + в .htaccess раскомментировать секцию для сторонних сефоф и оставить там только это
Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php

Одна из якобы фичей - убийство Itemid. Если он не нужен в принципе, то в /components/com_sef/main.ini надо сделать disable_itemid=yes.

P.S. Если будет версия под 1.5.х, то вполне возможно будет не чихая сделать кириллические урлы.
P.P.S. Выкладываю тут, а не на моем форуме, т.к. программистов тут поболее будет. Особенно (сам уже не помню почему) хочу услышать userxp, ибо с чего-то мне в голову взбрело, что он в этом шарит Azn

Чуток обновил, инструкции те же: компонент ставим как обычно. Все расширения из sef_ext.zip просто копируем в папку /components/com_sef/sef_ext/ в распакованном виде.

* com_litesef.zip (13.12 Кб - загружено 260 раз.)
* sef_ext.zip (9.19 Кб - загружено 686 раз.)
« Последнее редактирование: 16.10.2008, 18:32:59 от Dead Krolik » Записан
 
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #1 : 06.04.2008, 22:31:03 »

Dead Krolik - я хоть и не UserXP, но задам сразу вопрос не вникая пока глубоко - что ты имеешь в виду под "убийство Itemid"?
Записан
Dead Krolik
Joostina
*****

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 245


Теперь я рыбка


« Ответ #2 : 06.04.2008, 23:10:53 »

>убийство Itemid
Полное уничтожение этой переменной из урлов. Мы теряем возможность привязки, но зато не будет разных урлов, указывающих на одно и тоже.
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #3 : 06.04.2008, 23:15:32 »

>убийство Itemid
Мы теряем возможность привязки
а тогда глупый вопрос - как реализовывать привязку модулей, элементов оформления к разным страницам\разделам?
Записан
Dead Krolik
Joostina
*****

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 245


Теперь я рыбка


« Ответ #4 : 06.04.2008, 23:37:45 »

Sad Не понял ты меня. Я о том, что механизм Itemid уже сто раз обсуждали. Нет его - плохо, есть - тоже плохо.

Вообщем забей. Дело не в Itemid, не туда копаешь.  Tongue

Это просто как доп опция, вообще не стоящая внимания (ну и нафик я это вспонил dry )
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #5 : 07.04.2008, 08:19:12 »

Привет Dead Krolik.
Проверил компонент на своем еще почти пустом сайте на локали, с меню работает нормально, заметил две непиятные вещи:
1. Главная страница имеет два (а то и три) адреса:
а) /
б) /index.php
в) /index.php?option=com_frontpage&Itemid=1
С двумя первыми можно управиться, а вот третий адрес - дублирование главной что есть не хорошо.
2. Ссылка с главного меню типа "Список - содержимое раздела" выдает страницу, на которой находятся работающие не SEF ссылки, далее (в содержимом категории) на открываемых страницах нормальные SEF ссылки.

Буду очень рад если доработаешь компонент до конца. Заранее большое спасибо.
P.S. А плагины для virtuemart и контактов сделаешь?

P.P.S. В списке транслитерации у тебя видимо "я" заменяется на "y", красивее было-бы на "ya". Посмотрел список - там все нормально, но при этом "Нормативная документация" выглядит как /_Normativnay_dokumentaciy/
« Последнее редактирование: 07.04.2008, 08:43:31 от Arkadiy » Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #6 : 07.04.2008, 08:23:42 »

Dead Krolik - ты попал, заставят теперь делать полноценный компонент SEF Azn
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #7 : 07.04.2008, 08:25:43 »

Dead Krolik - ты попал, заставят теперь делать полноценный компонент SEF Azn
Взялся за гуж - не говори что не дюж. Azn
Записан
boston
Joostina
*****

Репутация: +222/-3
Offline Offline

Пол: Мужской
Сообщений: 2699



« Ответ #8 : 07.04.2008, 09:10:00 »

Кролик, негодяй!
Записан
boston
Joostina
*****

Репутация: +222/-3
Offline Offline

Пол: Мужской
Сообщений: 2699



« Ответ #9 : 07.04.2008, 09:18:23 »

>Novosti/Poslednie_novosti/Spasibo_za_vbor_Joostina_98214a5e.html
98214a5e, это что бы людей пугать? Azn

>index.php?option=com_content&task=view&id=4&Itemid=1:::***:::articles/Kratkie_novosti/Kratkie_novosti/Kratkay_novost
_3_98214a5e.html

В файле com_content.urls урлы некоторые переносятся на 2 строки, это зачем? Azn

Компонент супееееееер!
Записан
Dead Krolik
Joostina
*****

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 245


Теперь я рыбка


« Ответ #10 : 07.04.2008, 11:06:15 »

Arkadiy все будет, если я сам оценю полезность данной затеи. Дубли фротпейджа это самое главное зло.

boston 98214a5e это и есть те самые левые переменные в запросе, которые не возможно никуда воткнуть. Например Itemid. Красиво пакуются в строку (ну нужно, например, какому-нибудь мамботу дописать свою переменную) и берется хэш.

Про перенос не знаю, может просто редактор у тебя такой Azn
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #11 : 07.04.2008, 11:56:37 »

Про перенос не знаю, может просто редактор у тебя такой Azn

index.php?option=com_content&task=view&id=12&Itemid=32:::***:::articles/Prais-list/Prais-list/Prais-list
_RC_Bar
er-CS_0a19196f.html

выкопировал с листера тотал-командера с отключенным переносом строк

Заметил: переносы строк почти во всех случаях идут по знакам, которые не определены в таблице перекодировки, напрмер по мягкому знаку.
« Последнее редактирование: 07.04.2008, 12:07:19 от Arkadiy » Записан
Dead Krolik
Joostina
*****

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 245


Теперь я рыбка


« Ответ #12 : 07.04.2008, 12:43:32 »

О. Значит косяк. И кажется я даже знаю в каком месте. Гран мерси.
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #13 : 07.04.2008, 12:47:40 »

при чем перенесенные ссылки битые - вываливают на главную.
Записан
userxp
Администратор
*******

Репутация: +400/-6
Offline Offline

Пол: Мужской
Сообщений: 3227


Злой и ужасный бармалей


« Ответ #14 : 07.04.2008, 13:11:09 »

у... епрст... а у меня со временем звиздец.... Sad
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #15 : 09.04.2008, 10:47:14 »

О. Значит косяк. И кажется я даже знаю в каком месте. Гран мерси.
А когда будет исправленный компонет? Azn
Записан
Dead Krolik
Joostina
*****

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 245


Теперь я рыбка


« Ответ #16 : 09.04.2008, 11:52:29 »

От прст. Это же для пробы было. И вообще там они темные вещи в своих компонентах творят, это же надо - action у формы пропускать через sefRelToAbs(). Убить их мало. И в яваскрипт тоже через него ссылки пропускать. Я прямо на перепутье с этим com_content.
Записан
elvin
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 26


Я Тигръ!


« Ответ #17 : 29.07.2008, 09:38:41 »

Дорогой Кролик, мы очень все хотим доработанный сеф) пожалуста-пожалуста-пожалуста-пожалуста!  drink
 Roll Eyes
Записан
eX
Давно я тут
****

Репутация: +72/-0
Offline Offline

Пол: Мужской
Сообщений: 287



« Ответ #18 : 29.07.2008, 10:50:19 »

Компонент очень ценный! Жду тоже обновленный релиз! Респект. Загрузка страничек - уменьшилась даже по ассоциативному ощущению в полтора раза!
Записан
Dead Krolik
Joostina
*****

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 245


Теперь я рыбка


« Ответ #19 : 30.07.2008, 22:15:57 »

От прст. Вы меня в неудобное положение ставите. Я уже от дяди бостона отбрыкиваюсь как могу тем, что вот мол я ленивый и в коммунисты не гожусь. И нечего на меня надеяться в быстросефе.
Записан
..С...е...р...ы...й..
Завсегдатай
*****

Репутация: +108/-2
Offline Offline

Сообщений: 531



« Ответ #20 : 31.07.2008, 00:08:10 »

ладна, будем тогда юзать кривые, попсовые  Lips Sealed
Записан
VETERINAR
Живу я здесь
******

Репутация: +165/-14
Offline Offline

Пол: Мужской
Сообщений: 1291


Kiss my shiny metal ass!


« Ответ #21 : 31.07.2008, 00:20:10 »

Хм, что-то мне не верится, что работа с текстовыми файлами может быть быстрее работы с базой данных... Давайте тогда вообще движок на текстовые файлы переведем, чтобы сервер баз данных себя хорошо чувствовал. И запросов будет 0.

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

Кстати, разве в unix-ах нет ограничение на количество одновременно открытых файлов или что-то подобного? Я слышал, что есть.

Не нравится мне это всё. ЭТо как бы шаг назад, имхо.
Записан
Mitrich
Администратор
*******

Репутация: +520/-13
Offline Offline

Пол: Мужской
Сообщений: 2481


Все можно. Но сначала учиться, учиться и учиться.


« Ответ #22 : 31.07.2008, 00:52:09 »

Цитировать
не верится, что работа с текстовыми файлами может быть быстрее работы с базой данных

ну в общем то каждой задаче свое решение
если можно 10-20 килобайт держать в памяти и активно их юзать а не спрашивать тыщу раз базу, то вполне оправдано
Записан
VETERINAR
Живу я здесь
******

Репутация: +165/-14
Offline Offline

Пол: Мужской
Сообщений: 1291


Kiss my shiny metal ass!


« Ответ #23 : 31.07.2008, 00:55:15 »

Не знаю, думаю, изучу этот вопрос в скорем времени. Возможно удастся провести тесты на производительность. Отпишусь. Но пока отношусь очень скептически Azn
Записан
Dead Krolik
Joostina
*****

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 245


Теперь я рыбка


« Ответ #24 : 31.07.2008, 08:13:57 »

Ты в чем-то прав. И на эту тему мы с дядей бостоном говорили. Так и не договорились. И там и сям есть плюсы, а разница начинается со скольки-то сотен килобайт. Где эти килобайты искать - вопросище.
Записан
userxp
Администратор
*******

Репутация: +400/-6
Offline Offline

Пол: Мужской
Сообщений: 3227


Злой и ужасный бармалей


« Ответ #25 : 31.07.2008, 12:31:36 »

нужен гибрид.
так сказать - золотая середина
имхо.
т.е., изначально нужен интеллектуальный модуль, который бы КАКТО распределял нагрузку (тока не спрашивайте как - я понятия не имею)

как по мне, так SEF-ссылки должны по максимуму строится в режиме on-fly и кэшироваться
но должны быть и "жесткие" ссылки в БД, привязанные к конкретному internal URL

ps. может, у каждой ссылки должен быть свой TTL ???
« Последнее редактирование: 31.07.2008, 12:36:40 от userxp » Записан
Dead Krolik
Joostina
*****

Репутация: +33/-4
Offline Offline

Пол: Мужской
Сообщений: 245


Теперь я рыбка


« Ответ #26 : 31.07.2008, 20:10:50 »

userxp все в наших руках. Давай поговорим. Я тему создавал не для того, что бы тут что-то готовое выкладывать. Я изначально не совсем верил в правоту такового подхода.

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

"Жесткие ссылки" - это я так понимаю "пользовательские ссылки"? Смысл хранить их в БД?

И вообще - нужен какой-то критерий, что бы ссылка лежала там или сям.

P.S. Про TTL не понял. Он вообще на что должен влиять?
P.P.S. Еще идея - если генерация ссылок на странице начинает хавать N% от генерации всей страницы, то есть повод подумать и ссылки перекинуть из одного хранилища в другое. Но не более чем идея. Критерий какой-то смутный.

Цитировать
как по мне, так SEF-ссылки должны по максимуму строится в режиме on-fly и кэшироваться
Нннет. А если предположим я изменил заголовок статьи и ссылка зависит от этого заголовка. Перегенерировалась. И бац - человек попадает из поисковика на неверный урл. Поисковикам может и по барабану, но как быстро они перегенерят урл. Тут конечно можно еще одну таблицу бабахнуть - редиректы после смены урлов: если в результате новой генерации урл отличается от старого.

Но мыслей чета мало. А победить урлы хочется. Я даже напишу компонент. Тока бы стратегию придумать.
Записан
userxp
Администратор
*******

Репутация: +400/-6
Offline Offline

Пол: Мужской
Сообщений: 3227


Злой и ужасный бармалей


« Ответ #27 : 01.08.2008, 00:27:00 »

попробую "набросать" в качестве бреда

для каждой ссылки нужны
а) кол-во кликов
б) частота вызова (х.з. как...)
в) можно принудительно указывать время "жизни" кэша
г) некий "порог срабатывания" кэширования

TTL должен индивидуально влиять на кэширование каждой ссылки
указываем длину "буфера" кэширования... скажем, 50 ссылок
в кэше храним массив подмены ссылок.

если совокупность факторов ссылки превышает "порог", то она попадает в кэш (по кол-ву кликов, по частоте, по времени жизни и т.д.)
обработчик прежде всего сначала грузит кэш ссылок, а потом по недостающим выполняет их предзагрузку из БД

после загрузки всех ссылок производится их перепроверка и по необходимости, перестройка кэша.

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

для меня остается вопрос - как делать упреждающее чтение ссылок из БД?
тоже по совокупности факторов?
(я имею ввиду, что бы не производить обращение к БД по каждой ссылке индивидуально )
« Последнее редактирование: 01.08.2008, 00:31:20 от userxp » Записан
Dutch
Support Team
*****

Репутация: +72/-12
Offline Offline

Пол: Мужской
Сообщений: 465


Я все вижу!


« Ответ #28 : 01.08.2008, 00:53:24 »

мдя...
чем вам не нравится обычный сэф джумлы?

Раньше тоже на ЧПУ был помешан, но когда ссылка имеет вид типа:

http://www.site.name/ecology/doc/nadanna-dozvoliv-na-znesenna-zelenih-nasadzhen-krim-tih-shho-rozmishheni-na-zapovidnih-teritorijah-i-na-zemlah-derzhavnogo-lisovogo-fondu.html

то теряется вся концепция ЧПУ, имхо это самое ЧПУ должно быть понятным и запоминатся.
Ну вот попробуйте прочитать транслит да и еще его запомнить и побуквенно ввести Azn

Как по мне, то проще и лучше убрать лишнее из стандартного сэфа:

http://www.site.name/content/view/247/9/

на

http://www.site.name/content-view-247-9.html

или

http://www.site.name/content247-9.html

где, content - com_content (com_docman = docman, com_archive = archive) и т.д.

да и реализовать такое проще, просто взять да и немного по-умному переписать файл sef.php и добавить правила в .htaccess

Это как идея, которую реализовать не могу, так как не программер.

Но что мы получим с такой идеи?

1. поисковики не выдают результаты если вы ввели на русском, а ссылки в транслите (для ютф-8 такое срабатывает, см. википедию), посему мы получим немного легче запоминающийся юрль.
2. все страницы будут, как бы в первом уровне, относительно корня сайта, а это поискови любят.
3. ну и не будет у нас километровых юрлов (как пример, каталоги, магазины и т.д.)
4. не нужно ничего хранить в базах, так как мы используем механизм родного сэфа джумла, но немного переписанный и устроенный в качестве отдельного компонента, дабы не патчить систему.
Записан
userxp
Администратор
*******

Репутация: +400/-6
Offline Offline

Пол: Мужской
Сообщений: 3227


Злой и ужасный бармалей


« Ответ #29 : 01.08.2008, 01:57:21 »

Dutch,
во-первых, content/view/247/9/ и content-view-247-9.html для обработки - это две большие разницы
во-вторых, как все таки поступать с урла-ми сторонних компонентов?
Записан
Страниц: [1] 2 3  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet