Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Неправильная отдача кода 403
Форумы портала PHP.SU » Серверное администрирование » Apache и другие веб-серверы » Неправильная отдача кода 403

Страниц (1): [1]
 

1. selfauthor - 05 Января, 2016 - 13:03:03 - перейти к сообщению
У меня на сайте есть достаточно большой список ip-адресов, которым закрыт доступ. Если с этих адресов заходят люди, то им выдаётся ошибка 403.
В htaccess стоит такая строка:

CODE (text):
скопировать код в буфер обмена
  1. ErrorDocument 403 /error/forbidden.php


Но есть парочка адресов, которым выдаётся другое.
При заходе на любую страницу, они получают код не 403, а 301, после чего идёт запрос на /error/forbidden.php, который отдаётся с кодом 200. Я поставил внутрь forbidden.php принудительную отдачу 403, но изначально при первом запросе всё равно отдаётся не 403, а 301.
Почему этим "особенным" выдаётся по-другому? Как сделать, чтобы сразу отдавался 403?
(Добавление)
На первый вопрос нашёл ответ.
У меня стоят строки:
CODE (text):
скопировать код в буфер обмена
  1. RewriteCond %{HTTP_HOST} ^www\.site\.ru
  2. RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

А этот "друг" заходит именно через www.
Понять - понял, а победить не могу.
Переставил RewriteEngine в конец файла. Ничего не меняется.
Как победить?

 

Powered by ExBB FM 1.0 RC1