Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скорость работы mod_rewrite
 
 автор: Sfinks   (14.11.2011 в 21:26)   письмо автору
 
 

Включил лог модреврайта и увидел, что он для каждой ссылки перебирает все правила от начала до конца, не зависимо от того, в каком месте прописано правило для этой ссылки. Хотя вроде не должен..... Например правило:
RewriteRule ^style$ style.css [L]
стоит первым, и [L] вроде как говорит о том, что продолжать поиск при совпадении не надо, но лог при этом выглядит так:
[initial] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style -> style
[initial] (3) [perdir C:/www/] applying pattern '^style$' to uri 'style'
[initial] (2) [perdir C:/www/] rewrite 'style' -> 'style.css'
[initial] (3) [perdir C:/www/] add per-dir prefix: style.css -> C:/www/style.css
[initial] (2) [perdir C:/www/] strip document_root prefix: C:/www/style.css -> /style.css
[initial] (1) [perdir C:/www/] internal redirect with /style.css [INTERNAL REDIRECT]
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^style$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^bashorg/([0-9]+)/$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^bashorg/$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^melodies/([0-9]+)\([0-9]+\)/([0-9]+)\([0-9]+\)/([0-9]+)/(cut|download)\-(confirmed)/$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^melodies/([0-9]+)\([0-9]+\)/([0-9]+)\([0-9]+\)/([0-9]+)/(listen|cut|download)/$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^melodies/([0-9]+)\([0-9]+\)/([0-9]+)\([0-9]+\)/([0-9]+)/$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^melodies/([0-9]+)\([0-9]+\)/([0-9]+)\(([0-9]+)\)/$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^melodies/([0-9]+)\(([0-9]+)\)/$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^melodies/$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^signin/activate/([0-9a-zA-Z_\.\-\+]*)/$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^register/send/$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^(register|signin|signout|restore)/$' to uri 'style.css'
[initial/redir#1] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[initial/redir#1] (3) [perdir C:/www/] applying pattern '^server_vars/([0-9]+)/([0-9]+)/$' to uri 'style.css'
[initial/redir#1] (1) [perdir C:/www/] pass through C:/www/style.css
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^style$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^bashorg/([0-9]+)/$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^bashorg/$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^melodies/([0-9]+)\([0-9]+\)/([0-9]+)\([0-9]+\)/([0-9]+)/(cut|download)\-(confirmed)/$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^melodies/([0-9]+)\([0-9]+\)/([0-9]+)\([0-9]+\)/([0-9]+)/(listen|cut|download)/$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^melodies/([0-9]+)\([0-9]+\)/([0-9]+)\([0-9]+\)/([0-9]+)/$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^melodies/([0-9]+)\([0-9]+\)/([0-9]+)\(([0-9]+)\)/$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^melodies/([0-9]+)\(([0-9]+)\)/$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^melodies/$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^signin/activate/([0-9a-zA-Z_\.\-\+]*)/$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^register/send/$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^(register|signin|signout|restore)/$' to uri 'style.css'
[subreq] (3) [perdir C:/www/] strip per-dir prefix: C:/www/style.css -> style.css
[subreq] (3) [perdir C:/www/] applying pattern '^server_vars/([0-9]+)/([0-9]+)/$' to uri 'style.css'
[subreq] (1) [perdir C:/www/] pass through C:/www/style.css

Страшновато.... Я понимаю, что мод_реврайт заточен не конкретно под меня, а сразу под всех, соответственно выполняет кучу операций которые мне не нужны, но возможно кому-то пригодились бы.... Но насколько это оправданно? Может лучше написать одно правило:
RewriteRule . index.pxp [L]
и уже в index.php произвести разбор $_SERVER["REQUEST_URI"] и включение нужного через include()?

  Ответить  
 
 автор: cheops   (15.11.2011 в 13:35)   письмо автору
 
   для: Sfinks   (14.11.2011 в 21:26)
 

Можно, но вы думаете PHP под управлением Apache будет работать быстрее, чем модуль написанный на C? PHP ведь тоже не очень торопливый язык...

А .htaccess да есть такая проблема, скорости он не прибавляет, это всегда следует иметь в виду.

  Ответить  
 
 автор: Sfinks   (15.11.2011 в 13:50)   письмо автору
 
   для: cheops   (15.11.2011 в 13:35)
 

Не ПХП быстрее апача, а 2-3 операции разбора урл через пхп вместо 20-30 через апач.... Тем более 20-30 это пока.... А еще 2-3 раздела сайта и правил может быть 100, тогда апач будет выполнять 200-300 операций пока перешлет на нужный файл?

  Ответить  
 
 автор: cheops   (15.11.2011 в 14:09)   письмо автору
 
   для: Sfinks   (14.11.2011 в 21:26)
 

>и уже в index.php произвести разбор $_SERVER["REQUEST_URI"] и включение нужного через
>include()?
Готовое правило для этого можно найти в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=5&id_theme=83170.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования