|
|
|
(Apache) Нагрузка от mod_rewrite
|
|||
|---|---|---|---|
|
#18+
Господа, добрый день! Захотелось гибкой структуры на сложном сайте в плане файловой системы проекта, а также несколько зайцев убить дополнительно как то: построение навигатора аля "хлебные крошки" (Главная -> User Control Panel), быстрого динамического построения карты сайта. В общем пришел к такому предварительному решению: 1) Абсолютно все пути к страницам проекта хранить в БД в NestedSets 2) У каждой страницы хранить название и путь ее обработчика (например для страницы добавления новости - вывод формы и обработка пришедшей формы). 3) У каждой страницы хранить RewriteRule, например в таком виде: ^([0-9_A-Za-z-]+)/press_release[/]?$ 4) У каждой страницы хранить ее имя, для составления потом навигатора, если страница не статичная, то вместо имени пишем переменную шаблона, например {USER_NAME} 5) При добавлении страницы генерируем по новой .htaccess с новыми RewriteRule, добавляя в каждое идентификатор узла дерева, чтобы в итоге иметь RewriteRule ^([0-9_A-Za-z-]+)/press_release[/]?$ /core.php?user_name=$1&m=press_release&node_id=123 [L,QSA] Собственно все. Теперь обратный процесс, запрашиваем страницу http://sitename.com/baba-yaga/press_release/ mod_rewrite переписывает урл на /core.php?user_name=baba-yaga&m=press_release&node_id=123 Далее, core.php обращаясь к БД получает обработчика для страницы №123 и запускает его Ну и потом строит навигатор: Главная -> Баба Яга -> Пресс-релиз Вот теперь точно все. Мне нравится все, кроме размера .htaccess и количества RewriteRule По нагрузке апача может кто проконсультировать? Не сдохнет на 1500 уников/сутки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 15:10 |
|
||
|
(Apache) Нагрузка от mod_rewrite
|
|||
|---|---|---|---|
|
#18+
Так потестите ab? Насчёт сдохнет-не сдохнет говорить сложно, хостинг ведь бывает разный -- от бесплатного/за 3 бакса в месяц до выделенного сервера с парой ксеонов с таким же рядом под СУБД. Что же до конкретных советов, во-первых, я не вижу причин, чтобы под каждую страницу заводить отдельное правило реврайта, и записать эти правила лучше не в .htaccess, а в конфиг апача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 15:25 |
|
||
|
(Apache) Нагрузка от mod_rewrite
|
|||
|---|---|---|---|
|
#18+
Присоеденяюсь к вопросу. У меня есть часть крупного сайта. Порядка 50 файлов лежат в одной папке там же .htaccess и на каждый по правилу перезаписи, плюс почти для всех общее правило перезаписи где они перечисленны через |. До этого успешно работала схожая штука для другой части этого же сайта, но там порядка 20 файлов. Нагрузка на сайт приличная, хостинг тоже. Протестить в реальных условиях, возможности нет сначала все делается локально потом выкладываем. Кто нибудь реально сталкивался с тормозами из-за rewrite. Переделывать что то просто так не хотелось бы, работы и так хватает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2005, 22:05 |
|
||
|
(Apache) Нагрузка от mod_rewrite
|
|||
|---|---|---|---|
|
#18+
Так вы можете объяснить, зачем создавать по правилу на каждый файл? Ограничение доступа так реализуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2005, 22:14 |
|
||
|
(Apache) Нагрузка от mod_rewrite
|
|||
|---|---|---|---|
|
#18+
Возьмите да сравните. При реализации с mod_rewrite и без. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2005, 22:24 |
|
||
|
(Apache) Нагрузка от mod_rewrite
|
|||
|---|---|---|---|
|
#18+
http://forum.dklab.ru/php/heap/empty_15.html продолжение темы, вернее кросспостинг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2005, 08:11 |
|
||
|
(Apache) Нагрузка от mod_rewrite
|
|||
|---|---|---|---|
|
#18+
Ну вот вы там пример привели... И зачем для этого городить по правилу на каждую страницу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2005, 08:22 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33213358&tid=1477760]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
181ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 513ms |

| 0 / 0 |
