Задача: есть каталог К1 и в нем два вложенных каталога К2, К3, введено 2 уровня пользователей. Первая группа имеет доступ только к К1 и К2, вторая ко всем трем каталогам. Необходимо проводить аутентификацию только 1 раз - при доступе к К1, но при этом соблюдать права на доступ к К2 и К3.
Имя пользователя и пароль запрашиваются только при входе на К1 - если у пользователя есть доступ на К2 пароль уже не запрашивается. Если на К3 доступа нет, выводится приглашение ввести пароль.
www.site.ru/К1
www.site.ru/К1/К2
www.site.ru/К1/К3
К1 - общий и вместе с тем закрытый. К2 и К3 только для отдельных личностей.
Для этого необходимо в корне сайта (или в нужной папке) добавить в файл .htaccess строки:
Order Allow,Deny
Allow from all
Deny from xxx.xxx.xxx.xxx
где xxx.xxx.xxx.xxx - это ip-адрес компьютера, которому запрещается доступ. Возможно также указывать доменное имя. В директивах Deny и Allow можно перечислять через пробел ip или доменные имена. Директива Order определяет последовательность применения директив Allow и Deny, т.е. "Order Allow,Deny" сначала разрешит доступ тем, кто упомянут в директиве Allow, затем запретит тем, кто упомянут в Deny. Если стоит задача обеспечить доступ только с определенного компьютера, то следует давать такие директивы в .htaccess:
Order Deny,Allow
Deny from all
Allow from xxx.xxx.xxx.xxx
Не каждый прокси-сервер отмечает свое присутствие в заголовках http-запроса. Поэтому со 100%-й гарантией это сделать невозможно. Однако, большинство прокси-серверов ставят в заголовок http-запроса поле Via. Рассмотрим пример, который отправляет всех пользователей, которые пришли через прокси-сервер, на главную страницу karman.com.ua. Для этого в файл .htaccess надо добавить следующие строчки:
Что бы сервер обрабатывал .html и .htm файлы на предмет включения PHP кода, необходимо создать или модифицировать Ваш файл .htaccess в каталоге public_html, и включить в него следующие строки:
Причины 500-й (Internal Server Error) ошибки:
1) неверный синтаксис .htaccess
2) файл .htaccess записан в формате Windows, а должен быть записан в формате UNIX
3) в файле прописаны переменные которые не могут работать когда на сервере установлен SUEXEC. Например: php_flag, php_value, AddType и т.д.