Внимание! В связи с устареванием топика эта страница была взята из кэша.
|
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 символов Купить рекламу в этом месте! |
Внимание! В связи с устареванием топика эта страница была взята из кэша.
|