I live ExBB and CMS Limbo! » Форумы и сайты » Записная книжка PHP » Настройка файла .htaccess

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

1. технарь - 4 июня 2018 — 23:28 - перейти к сообщению
Данная информация скомунизжена здесь...

Запрет на все файлы:
code:
deny from all

Где all обозначает "все".

Разрешить доступ с определенного ip:
code:
order allow deny
deny from all
allow from <ваш ip>

В данном случае, <ваш ip> обозначает конкретный адрес.
Например:
 Цитата:
order allow deny
deny from all
allow from 192.126.12.199


Запретить доступ с определенного ip:
code:
order allow deny
deny from all
deny from <ваш ip>

Использование <ваш ip> аналогично для примера выше.

В зависимости от того в каком порядке указаны директивы меняется логика работы сервера. В случае если Deny,Allow то запрещается доступ со всех IP кроме оговоренных, в случае если Allow,Deny разрешается доступ со всех IP кроме оговоренных. Далее должны идти секции описания для доступа и запрета. Ключевое слово all означает со всех IP

Например мы хотим запретить (блокировать) доступ с IP 81.222.144.12 и 81.222.144.20 и разрешить всем остальным нам необходимо добавить в .htaccess следующий код:
 Цитата:
Order Allow,Deny
Allow from all
Deny from 81.222.144.12, 81.222.144.20


Для обратной ситуации когда мы хотим запретить доступ со всех IP кроме 81.222.144.12 и 81.222.144.20 нам необходимо добавить в .htaccess следующий код:
 Цитата:
Order Deny,Allow
Deny from all
Allow from 81.222.144.12, 81.222.144.20

Спойлер (Показать)


Запрет на конкретный файл:
Можно поставить запрет на конкретный файл по его названию и расширению.
code:
<Files config.inc.php>
order allow,deny
deny from all
</Files>

В данном примере стоит запрет на обращения к файлу config.inc.php.

Редирект на другой url:
Что бы сделать перенаправления посетителя на сайт http://site.ru в .htaccess
code:
Redirect / http://www.site.ru
2. технарь - 4 июня 2018 — 23:29 - перейти к сообщению
Как самому обрабатывать ошибки Апача?

Наиболее интересные и полезные ошибки Апача это: 403-404, 500.
403 - пользователь не прошел аутентификацию, запрет на доступ (Forbided).
404 - запрашиваемый документ (файл, директория) не найден.
500 - внутренняя ошибка сервера (к примеру, ошибка в синтаксисе файла .htaccess).
Для того, что бы пользователю при этих ошибках были показаны ваши собственные сообщения об ошибках, в .htaccess пишем:
code:
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html

При этом при возникновении 404 ошибки пользователю загрузится файл errors/403.html.

Удобно делать собственный обработчик на некоторые ошибки. В .htaccess пишем:
code:
ErrorDocument 403 /errors/error.php?403
ErrorDocument 404 /errors/error.php?404
ErrorDocument 500 /errors/error.php?500

В error.php через $HTTP_SERVER_VARS['REQUEST_URI'] определяем какой документ вызвал ошибку и дальше обрабатываем. Если в .htaccess на ErrorDocument стоит указание файла с полным путем (http://site.ru/error.php), то $HTTP_SERVER_VARS['REQUEST_URI'] будет содержать этот файл, а не вызвавший ошибку.
В Internet Explorer 5.0 неправильно обрабатывается файл, вызывающийся при ошибке, если его размер меньше 1 килобайта. Будет вызвана стандартная страница IE 404.

Как поставить запрет на отображение содержимого директории при отсутствии индексного файла?

Предположим, что у вас вся графика, используемая на сайте находится в директории img. Посетитель может набрать в адресной строке браузера эту директорию и увидеть список всех ваших графических файлов. Конечно, это не нанесет вам урона, но можно и не дать такого просмотра посетителю. В .htaccess пишем:

code:
Options -Indexes
4. технарь - 5 июня 2018 — 10:28 - перейти к сообщению
Эх, эту инфу да ещё бы на русском... Радость
Но это я конечно придираюсь - при желании думаю всё будет понятно. Спасибо.
5. Marych - 10 января 2019 — 19:26 - перейти к сообщению
В связи с переездом на сервер без apache2 думаю рано или поздно встанет вопрос Как жить без htaccess

Во первых существуют различные "конвертеры", например https://winginx.com/ru/htaccess
На выхлопе, как правило, чушь, но если нужно что-то совсем-совсем простенькое, то может сработать.

Во вторых очень понравился комментарий тут https://toster.ru/q/443851 (помечен как решение)

Powered by ExBB v1.1.180311