Почему может не работать Allow from IP в.htaccess

в .htaccess пишу такое:
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .ini.geshi_code {font-family:monospace;} .ini.geshi_code .imp {font-weight: bold; color: red;} .ini.geshi_code .co0 {color: #666666; font-style: italic;} .ini.geshi_code .sy0 {color: #000066; font-weight:bold;} .ini.geshi_code .st0 {color: #933;} .ini.geshi_code .re0 {color: #000066; font-weight:bold;} .ini.geshi_code .re1 {color: #000099;} .ini.geshi_code .re2 {color: #660066;} .ini.geshi_code span.xtra { display:block; }

Order deny,allow
Deny from all
Allow from 212.26.XXX.XX
Allow from 213.227.YYY.YYY
Allow from 91.197.NNN.NNN
...
 

один из них - мой IP, меня не пускает .. ниодин из IP не пускает.
Что может быть?
Может в конфе апача как-то запрещены директивы Allow? и он их игнорирует в .htaccess?

З.Ы. авторизации по пользователям нет.
в apache2.conf:
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .ini.geshi_code {font-family:monospace;} .ini.geshi_code .imp {font-weight: bold; color: red;} .ini.geshi_code .co0 {color: #666666; font-style: italic;} .ini.geshi_code .sy0 {color: #000066; font-weight:bold;} .ini.geshi_code .st0 {color: #933;} .ini.geshi_code .re0 {color: #000066; font-weight:bold;} .ini.geshi_code .re1 {color: #000099;} .ini.geshi_code .re2 {color: #660066;} .ini.geshi_code span.xtra { display:block; }

<Directory />
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>
 

При входе на страницу пишет:
Forbidden
You don't have permission to access / on this server.

Мой ип - 212.26.XXX.XX

1 ответов


Может где то выше не стоит AllowOverride All.
Как вариант поменять местами и проверить работает ли Deny, т.е. разрешить со всех и запретить с одного и проверить.

UPD: Даже если точнее то AllowOverride Limit
Allow use of the directives controlling host access (Allow, Deny and Order).


Зада поиска правильного ответа заняла слишком долго времени (есть подозрение, что это глюк апача2), поэтому была решена по-другому. Это в начале index.php:


$forwarded = $_SERVER['HTTP_X_FORWARDED_FOR'];
if (!empty($forwarded)) {
    $ipAddress = preg_replace('/,.*/', '', $forwarded);
} else {
    $ipAddress = $_SERVER['REMOTE_ADDR'];
}

$allowedIPs = array('212.26.XXX.XX', '213.227.RRR.RRR');
if (!in_array($ipAddress, $allowedIPs)) {
    echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>403 Forbidden</title></head><body><h1>Forbidden</h1><p>You don\'t have permission to access / on this server.</p></body></html>';
    exit;
}

пока так :)