С нами с 05.07.03
Сообщения: 364
Рейтинг: 68
|
Добавлено: 15/06/07 в 15:45 |
Не силен в htaccess, поэтому решил задать несколько вопросов (в частности интересует modrewrite):
1) как забанить диапазон ip-адресов. к примеру: 60.208.0.0 - 60.217.255.255
2) как вообще забанить китайцев (удаленный хост *.cn);
3) как правильно использовать несколько правил. у меня пока так:
RewriteEngine On
rewritecond...
rewritecond...
rewriterule 1
rewritecond...
rewritecond...
rewriterule 2
т.е. правильно ли используется rewriterule несколько раз, или между ними нужно что-то сбрасывать(обнулять)?
3) htaccess лежит в корне и действует на все папки домена. как в какой-нибудь папке отменить все правила?
спасибо!
|
|
|
|
С нами с 07.06.07
Сообщения: 172
Рейтинг: 120
|
Добавлено: 15/06/07 в 18:59 |
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CN$
китайцефф нафик так посылаай
|
|
|
|
Криптопохуист
С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019
|
Добавлено: 15/06/07 в 19:29 |
1.
забанить 60.2*.*.*
Deny From 60.2
60.200.*.* :
Deny from 60.200.0.0/16
2. нужен мод_геоип
RewriteEngine On
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CN$
RewriteRule .* - [F,L]
3. Юзай последовательно. Только флаг L у правила не забывай ставить, чтобы они друг на друга не накладывались
|
|
|
|
С нами с 05.07.03
Сообщения: 364
Рейтинг: 68
|
Добавлено: 15/06/07 в 22:42 |
Спасибо, ответы оценил. Остался еще вопрос:
1) htaccess лежит в корне и действует на все папки домена. как в какой-нибудь папке отменить все правила?
и вот еще созрел: зачем нужен флаг [OR] ? в некоторых примерах он есть, а в некоторых нет. вот примеры:
--- без OR
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?crutop.nu [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?dizzygraphics.net [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png|swf)$ - [F,L]
--- с OR
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo\.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
etc..
или может он необязательный?
спасибо!
|
|
|
|
Криптопохуист
С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019
|
Добавлено: 15/06/07 в 22:48 |
.htaccess в папке наследуется всеми под-папками. это не отменишь. можно запретить правила разве что или поставить Allowoverride none.
Вот так бы и сказал: ебать пацаны, мне лень читать, давайте раздуплите меня по реврайту )
RTFM находится тут
|
|
|
|
С нами с 05.07.03
Сообщения: 364
Рейтинг: 68
|
Добавлено: 15/06/07 в 22:54 |
Pentarh писал: | .htaccess в папке наследуется всеми под-папками. это не отменишь. можно запретить правила разве что или поставить Allowoverride none. |
ну то что наследуется - я в курсе. но видать можно создать htaccess внутри интересующей папки с какой-нить загогулиной, отменящей правила.
Pentarh писал: | Вот так бы и сказал: ебать пацаны, мне лень читать, давайте раздуплите меня по реврайту ) |
так естественно. нафига мне ради трех небольших вопросов читать целый мануалище и вникать в него? ![icon_smile.gif](/template/images/smiles/icon_smile.gif) если есть люди, которые могли бы ответить ;) и я полдня времени сэкономлю, и другим блеснуть знаниями приятно ;)
----------------
в общем почитал я мануал, все равно не понял, для чего нужен [OR], и тот же [L] в rewriterule ввел меня в заблужение.
по поводу [or] написано:
Цитата: |
'ornext|OR' (либо следующее условие)
Используйте для комбинирования условий в правилах OR вместо AND. Типичный пример:
RewriteCond %{REMOTE_HOST} ^host1.* [OR]
RewriteCond %{REMOTE_HOST} ^host2.* [OR]
RewriteCond %{REMOTE_HOST} ^host3.*
RewriteRule ...some special stuff for any of these hosts...
Без этого флага вы должны были бы написать это условие/правило три раза.
|
хотя тот же мой пример выше без or тоже работает:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?crutop.nu [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?dizzygraphics.net [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png|swf)$ - [F,L]
или мжет у меня запись неправильная, а апач просто проглатывает это, но никто мне об этом не скажет. я примеры брал и вставлял с инета, есть разные варианты на разных сайтах. х.з. какие правильные, поэтому собственно и возникают вопросы.
Последний раз редактировалось: stillen (15/06/07 в 23:13), всего редактировалось 1 раз
|
|
|
|
Криптопохуист
С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019
|
Добавлено: 15/06/07 в 23:12 |
ну блин...
По дефолту RewriteCond идущие последовательно связываются логическим оператором AND. Если указать OR, то догадайся что произойдет.
ЗЫ: Булеву алгебру рассказывать не буду.
|
|
|
|
С нами с 05.07.03
Сообщения: 364
Рейтинг: 68
|
Добавлено: 15/06/07 в 23:16 |
а ну все, вопрос снят. спасибо - все четко и ясно. то что и хотел услышать ![icon_smile.gif](/template/images/smiles/icon_smile.gif) лови еще +3 ;)
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |