|
|
|
| Включил лог модреврайта и увидел, что он для каждой ссылки перебирает все правила от начала до конца, не зависимо от того, в каком месте прописано правило для этой ссылки. Хотя вроде не должен..... Например правило:
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()? | |
|
|
|
|
|
|
|
для: Sfinks
(14.11.2011 в 21:26)
| | Можно, но вы думаете PHP под управлением Apache будет работать быстрее, чем модуль написанный на C? PHP ведь тоже не очень торопливый язык...
А .htaccess да есть такая проблема, скорости он не прибавляет, это всегда следует иметь в виду. | |
|
|
|
|
|
|
|
для: cheops
(15.11.2011 в 13:35)
| | Не ПХП быстрее апача, а 2-3 операции разбора урл через пхп вместо 20-30 через апач.... Тем более 20-30 это пока.... А еще 2-3 раздела сайта и правил может быть 100, тогда апач будет выполнять 200-300 операций пока перешлет на нужный файл? | |
|
|
|
|
|
|
|
для: 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. | |
|
|
|