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

Проблема с rewrite engine

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 30.03.03
Сообщения: 52
Рейтинг: 45

Ссылка на сообщениеДобавлено: 07/02/04 в 15:04       Ответить с цитатойцитата 

Помощь нужна хоть какая, задолбался уже icon_sad.gif ...
Ситуация такая:
есть апач с кофигурацией, где mod_rewrite подключен, есть виртуальный хост, лежит здесь /var/www/domain.com/, настройки дирректорий следующие:
<Directory />
AllowOverride None
</Directory>

<Directory /var/www/>
AllowOverride AuthConfig
</Directory>

пишем в .htaccess "RewriteEngine on" первой строчкой и кидаем его в корень domain.com, в результате получаем 500 ошибку и в логах такую надпись - /var/www/domain.com/.htaccess RewriteEngine not allowed here

пробовал в конфиг апача добавлять так:
<Directory /var/www/domain.com/>
AllowOverride All
</Directory>
в таком случае почему-то вообще игнорируется .htaccess ... :-/
Вопрос, собсно, как заставить работать .htaccess? Может что-то в Options надо добавить или в виртуал хост?

0
 



С нами с 27.02.03
Сообщения: 873
Рейтинг: 402

Ссылка на сообщениеДобавлено: 08/02/04 в 02:26       Ответить с цитатойцитата 

Цитата:
<Directory />
AllowOverride None
</Directory>

Можно снести нахер отквоченное и уже тогда (в завис. от конфа) возможно прописывать All для конкретной директории. Но если все нормально, то должно работать для конкретной директории и без снесения вышеупомянутого, только при этом оно по подкаталогам лазить не будет. Т.е. если .htaccess лежит в /var/www/domain.com/htdocs/, то и писать надо /var/www/domain.com/htdocs, а не верхний каталог...

1
 



С нами с 30.03.03
Сообщения: 52
Рейтинг: 45

Ссылка на сообщениеДобавлено: 09/02/04 в 01:59       Ответить с цитатойцитата 

Спасибо, разобрался сам ... вот это надо было в <VirtualHost domain.com> вставить
<Directory /var/www/domain.com/>
AllowOverride All
</Directory>

теперь, вообщем, вопрос по .htaccess
RewriteCond %{HTTP_ACCEPT_LANGUAGE} ru.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} kk.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} zh.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} be.* [NC]
RewriteRule .* http://www.google.com [R,L]
что здесь не правильно? а то не срабатывает ... в логах по реврайту такая фигня - RewriteCond: input='' pattern='ru.*' => not-matched и т.д. по остальным

и, вообще, вопрос такой: сильно будут тормозить сервак webalizer и htaccess? тем более, если сервер под мувисные галеры

0
 



С нами с 27.02.03
Сообщения: 873
Рейтинг: 402

Ссылка на сообщениеДобавлено: 09/02/04 в 02:37       Ответить с цитатойцитата 

Проверь написание (и значение тоже можно, элементарным тестом) переменной, он вроде ругается, что не может в пустом значении искать что-либо...
вебалайзер грузит в меру, но это сильно зависит от размеров логов и настроек софтины. Может и помешать, если все очень большое, а скорее всего нормально все будет...
.htaccess как таковой сервер практически не грузит (ведь там всего лишь написаны доп. директивы для Апача), а вот его мод_реврайт может запросо заебать Апач в хлам. Просто внимательно продумывай все регекспы - в них основная проблема зачастую.

0
 



С нами с 15.03.03
Сообщения: 121
Рейтинг: 70

Ссылка на сообщениеДобавлено: 09/02/04 в 03:01       Ответить с цитатойцитата 

Бороться и искать, найти и перепрятать...
Отель час

0
 



С нами с 30.03.03
Сообщения: 52
Рейтинг: 45

Ссылка на сообщениеДобавлено: 09/02/04 в 15:03       Ответить с цитатойцитата 

я тут подумал, что смысла вообщем-то мало от этого HTTP:ACCEPT_LANGUAGE, может проще по айпи дени делать, причем напрямую в апач вписать ... типа такого
Deny from 217.195.96.0/20 217.196.96.0/19 217.198.128.0/20 и т.д. по огромному списку русских провайдеров ;)
Allow from all

хотя есть mod_geo, но ни разу не пользовался ... что скажете, как попроще от неплатежеспособного трафа защититься, чтоб сервак не нагружать лишней заботай? или все-таки русские уже стали платить в онлайн ;))?

0
 



С нами с 27.02.03
Сообщения: 873
Рейтинг: 402

Ссылка на сообщениеДобавлено: 09/02/04 в 19:03       Ответить с цитатойцитата 

Забанить русских провайдеров можно гораздо проще, способом, который практически никто почему-то не юзает:
deny from .ru

1
 



С нами с 15.03.03
Сообщения: 121
Рейтинг: 70

Ссылка на сообщениеДобавлено: 09/02/04 в 19:13       Ответить с цитатойцитата 

Nalim Nikodim писал:
1.хотя есть mod_geo, но ни разу не пользовался ...
2.что скажете, как попроще от неплатежеспособного трафа защититься, чтоб сервак не нагружать лишней заботай?
3.или все-таки русские уже стали платить в онлайн ;))?


1. mod_geo стоит денег, а затраты должны быть оправданы, если ты траф переливаешь, хоть за копейку на русские сайты - имеет смысл, тоже касается и азии с африкой
2. perlmaster: - самый простой и надежный способ, но мне кажется, что редирект лучше чем блокировка для сервера
3. может и начали бы платить, но биллинги практически не берут наши карточки, да и потом нужны ресурсы на русском языке

Бороться и искать, найти и перепрятать...
Отель час

0
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17156
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 09/02/04 в 19:20       Ответить с цитатойцитата 

Nalim Nikodim писал:

теперь, вообщем, вопрос по .htaccess
RewriteCond %{HTTP_ACCEPT_LANGUAGE} ru.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} kk.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} zh.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} be.* [NC]
RewriteRule .* http://www.google.com [R,L]
что здесь не правильно? а то не срабатывает ... в логах по реврайту такая фигня - RewriteCond: input='' pattern='ru.*' => not-matched и т.д. по остальным

и, вообще, вопрос такой: сильно будут тормозить сервак webalizer и htaccess? тем более, если сервер под мувисные галеры


Убери ".*" из всех RewriteCond. "^ru" находит языки, начинающиеся с "ru". А ведь может быть и "en-US,ru". Таким макаром
Код:

RewriteCond %{HTTP_ACCEPT_LANGUAGE} ru [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} kk [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} zh [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} be [NC]
RewriteRule .* http://www.google.com [R,L]

А, вот еще. А могу ошибаться, но вроде переменная языка может называться по-другому: %{HTTP_ACCEPT_LANG}. Переменная мод_гео как называется, спроси у хостера. По разному бывает. Но чаще всего так: %{GEOIP_COUNTRY_CODE}. Посмотри phpinfo().

1
 
Новая тема Новая тема   

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


Перейти:  



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

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

Опросы

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



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