14.08.2009, 16:40 | #12 | |
Эксперт
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 254
|
Цитата:
ЗЫ: А вы на этих сайтах (которые на базе джанго) сапу используете? |
|
14.08.2009, 17:08 | #13 |
Мне повезёт!
Регистрация: 05.05.2007
Сообщений: 1,076
Вес репутации: 281
|
Нет, эти идут под заказ, за них платят неплохие деньги за разработку и поддержку.
Добавлено через 10 минут Вообще почему я заговорил про Джанго... ИМХО проблема ЧПУ - это проблема, созданная авторами PHP. Поясню, почему я так считаю: Разработчик ленив. Он использует GET параметры не потому что это единственный способ передачи параметров, а потому, что это единственный простой способ их передачи. В самом деле: $a = $_GET['a'] - что может быть проще? Отсюда всегда огромный соблазн использовать этот механизм всюду. Но не только из-за лени. Ведь собственный парсер URL - это время, причем при грамотном подходе обеспечение хорошими ЧПУ полностью всего сайта - это достаточно большие затраты времени. А время - деньги. И зачастую от этой фичи отказываются в виду ее экономической нецелесообразности. И заказчиков можно в этом понять, особенно в "кризисные" времена. Возвращаясь к теме Django скажу, что ИМХО проблема с ЧПУ в PHP будет до тех пор, пока в самом PHP не выработается устойчивого механизма работы с ними. Причем универсального механизма, а не Zend Framework, который, конечно, популярен, но не настолько, чтобы быть панацеей.
__________________
If it's not great, it's not the end. Последний раз редактировалось Alexey; 14.08.2009 в 17:08. Причина: Добавлено сообщение |
16.08.2009, 18:26 | #14 |
Новичок
Регистрация: 08.05.2009
Сообщений: 30
Вес репутации: 188
|
Как я понял, forcetype для большинства редок в употреблении. Модреврайт я знаю достаточно чтобы делать ЧПУ, но в моём случае я не просто так хочу использовать ForceType. Возвращаясь к моему вопросу:
Не могу полностью понять как лучше влить форстайп. Я прописал в хтаксесс нужные команды, создал нужный файл без расширения в корне (например news), закинул в него строчки вынимающие требующий url. Теперь при обращении к site.ru/news он распечатывает $_SERVER['REQUEST_URI']; Это хорошо, значит можно двигаться дальше. Вот насчёт дальше у меня и есть вопрос. У меня есть путь site.ru/folder/news/index.php?article=1 при обращении к site.ru/news он схватывает $_SERVER['REQUEST_URI']; как я понял смысл. Пишем php в безымянном news что-то вроде: if ($_SERVER['REQUEST_URI']=='news/1){ echo file_get_contents("http://site.ru/folder/news/index.php?article=1");} и т.д. только более умными и короткими конструкциями. Правильно ли я выбрал метод, или всё слишком усложнил и сделал всё неграмотно? |
16.08.2009, 20:04 | #15 | |
Эксперт
Регистрация: 18.06.2007
Адрес: Картофель
Сообщений: 2,417
Вес репутации: 361
|
Цитата:
а вообще правильно сказали - самое простое - это реализовать некую матрицу паттернов (для регэкспов) в стиле WordPress'овского ЧПУ, т.е. это более универсальное решение, и наиболее уникальными получаются сателлиты и т.п., т.е. пожно подстроить ЧПУ под конкретные цели... а разбирать $_SERVER['REQUEST_URI'] не так то уж и сложно при помощи тех же регулярных выражений и заранее подготовленных паттернов, т.е. реализовать тот же редактор паттернов в админке CMS - делов-то ну максимум на полчаса |
|
17.08.2009, 11:10 | #16 | |
Новичок
Регистрация: 08.05.2009
Сообщений: 30
Вес репутации: 188
|
Ф..! Ваш аватар у меня аппетит отбил. До этого сидел читал форум и принимал пищу....
Цитата:
file_get_contents? |
|
17.08.2009, 12:40 | #17 | |
Эксперт
Регистрация: 18.06.2007
Адрес: Картофель
Сообщений: 2,417
Вес репутации: 361
|
Цитата:
вообще-то кеш у меня хранятся в eaccelerator_put/eaccelerator_get конструкции, т.е. в ОЗУ (с последнующим вытеснением на диск)... а оригинал контент выстраивается исходя из данных полученных из MySQL |
|
17.08.2009, 12:47 | #18 | |
Мне повезёт!
Регистрация: 05.05.2007
Сообщений: 1,076
Вес репутации: 281
|
Цитата:
Плюс, это сведен на нет все прелести nginx (даже если вы его поставите), т.к. его специально ставят для избежания этого кэша, а тут оно будет бестолку. Лучший по производительности вариант - это регэкспы и ручной вызов нужного обработчика. Но это сложно интегрировать в существующий движок.
__________________
If it's not great, it's not the end. |
|
17.08.2009, 12:59 | #19 | |||
Эксперт
Регистрация: 18.06.2007
Адрес: Картофель
Сообщений: 2,417
Вес репутации: 361
|
Цитата:
Цитата:
Цитата:
а сам динамичный контент лучше кешировать при помощи memcached/eaccelerator/xcache/apc механизмов и складировать в ОЗУ, т.е. можно свести практически на 0 количество запросов к MySQL, что в разы увеличит производительность и DDoS'устойчивость |
|||
17.08.2009, 13:12 | #20 |
Мне повезёт!
Регистрация: 05.05.2007
Сообщений: 1,076
Вес репутации: 281
|
seocore, я, верно, не слишом ясно выразился, не объяснив, почему я считаю, что это сделает сайт не DDOS-о устойчивым.
Я имел в виду, что у каждого сайта есть странички, которые кэшировать нельзя, либо невозможно в виду того, что они разные у разных людей. Поэтому nginx не сможет абсолютно все кэшировать. Впрочем, такая ситуация нормальна и типична для каждого сайта. Ненормально и не типично то, что перед тем как отдаться пользователю, вся страница будет загружаться в оперативную память. Получится, что если к вашему сайту откроют тысячу одновременных коннектов, сделают запрос, но не будут читать данные - все тысяча страниц будут находиться в это время в оперативной памяти. А это уже чревато тяжкими последствиями. P.S: при таком подходе так же потеряются куки, REMOTE_ADDR и куча других полезных вещей, так что даже если там с производительностью будет и хорошо, то работать это все равно будет криво.
__________________
If it's not great, it's not the end. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Биллинг делает меня богаче! | replicant | Ошибки при работе с системой | 95 | 06.03.2009 17:29 |
Легитимное увеличение ТИЦ, кто-ниудь делает? | ozz | Деловое сотрудничество | 24 | 13.01.2009 19:55 |
Что делает links.db | Walk | Вопросы от новичков | 8 | 04.09.2008 09:50 |
Кто и зачем делает такие топики? | imcl | Курилка | 25 | 23.05.2008 19:51 |
Что делает кнопка [обновить тИЦ и PR] ? | new | Вопросы по работе системы | 2 | 16.01.2008 11:04 |
Часовой пояс GMT +3, время: 06:08.