Реклама на сайте Advertise with us
Тема: Вопрос по скорости выполнения команд mod_rewrite Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе kit


Зарегистрирован: 18.11.99
Сообщения: 5757
Ссылка на сообщениеДобавлено: 18/03/04 в 12:37     

Вот такой вопрсо возник:

Что более оптимально с точки зрения нагрузки на сервер:

Код:
RewriteCond %{HTTP_REFERER} !.*host1.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !.*host2.com.*$ [NC]
RewriteRule .*\.(jpg|gif)$ /images/404.html [R,L]


или

Код:
RewriteCond %{HTTP_REFERER} !.*(host1.com|host2.com).*$ [NC]
RewriteRule .*\.(jpg|gif)$ /images/404.html [R,L]


?

K началу

 
Информация о пользователе undef


Зарегистрирован: 15.09.03
Сообщения: 357
Ссылка на сообщениеДобавлено: 18/03/04 в 13:06     

Второй (короткий) вариант предпочтительнее.
И там и там используются регекспы, в твоем коде они вполне нормальные. Так что вызывать два раза проверку условия нет необходимости.

K началу

 
Информация о пользователе perlmaster


Зарегистрирован: 27.02.03
Сообщения: 674
Ссылка на сообщениеДобавлено: 18/03/04 в 19:30     

Вообще однохренственно практически ;)
Но теоретически первый вариант чуть лучше, а практически лучше второй, однако это незаметно. Это ИМХО.
Потому что второй регексп в теории чуть медленее, а два условия "и" могут даже не мешать, а помогать, т.к. при невыполнении первого условия второе и проверяться не будет. Хотя (str|str) тоже по тому же механизму действует. Однако же запуск 2х механизмов обработки регекспов завсегда хуже, чем запуск 1-го механизма, поэтому в итоге голосуем за номер 2

Но это ИМХО и на самом деле тут различий - крохи.

А более-менее ощутимо быстрее будет работать, если оптимизировать регекспы. Например так:

Код:

RewriteCond %{HTTP_REFERER} !^http://[^/]*(host1\.com|host2\.com).*$ [NC]
RewriteRule .*\.(jpg|gif)$ /images/404.html [R,L]

Кстати, kit, твои регекспы сработают и на реферере вида http://www.bla-bla-bla.com/some/dir/host1.com.html что не совсем верно (мой вариант на такое не попадется, да и чуть быстрее должен быть).

K началу

 
Информация о пользователе kit


Зарегистрирован: 18.11.99
Сообщения: 5757
Ссылка на сообщениеДобавлено: 18/03/04 в 20:00     

Ага, спасибо, ответы оценил.

K началу

 
Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »