Хороший стабильный vps хостинг в Украине с php и MySQL. С поддержкой python/Django

Примеры настроек .htaccess

Что такое файл .htaccess и для чего он нужен?
Возможности файла .htaccess
Перенаправление (редирект)
Запрет веб-доступа / запрет по IP
Несколько советов для работы с файлом .htaccess

Что такое файл .htaccess и для чего он нужен?

.htaccess  -  специальный конфигурационный файл веб-сервера Apache который дает возможность изменять  настройки  веб-сервера  apache для  отдельных  папок, без доступа к главному конфигурационному файлу.
Файл .htaccess можно создать в любом каталоге и его настройки будут действовать на все файлы в текущем каталоге и во всех его подкаталогах .

Возможности файла .htaccess 

Основные параметры файла:

  • Простое перенаправление (редирект);
  • Сложное перенаправление (mod_rewrite);
  • Индексные страницы;
  • Обработка ошибок;
  • Определение кодировки;
  • Управление доступом к директориям и файлам;
  • Паролирование директорий;
  • Опции PHP.

Примеры настроек .htaccess

Перенаправление(редирект)

Перенаправление (редирект) на другой адрес:

Redirect / http://www.another-site.ru


Перенаправление (редирект) только при запросе определенных страниц:

Redirect /blog http://www.another-site.com/blog


Перенаправление  example.com на www.example.com :

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\..* [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]


И наоборот:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]


Перенаправление (редирект) только посетителей с определенным IP (XXX.XXX.XXX.XXX):

SetEnvIf REMOTE_ADDR XXX.XXX.XXX.XXX REDIR="redir" 
RewriteCond %{REDIR} redir 
RewriteRule ^/$ /page.html


Обработка ошибок Apache:

ErrorDocument 401 /401.html 
ErrorDocument 403 /403.html 
ErrorDocument 404 /404.html 
ErrorDocument 500 /500.html

При возникновении этих ошибок посетитель сайта будет перенаправлен на специально созданные страницы.


Перенаправление на безопасное https-соединение:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Запрет веб-доступа / запрет по IP

Запрет веб-доступа:

Order Deny,Allow
Deny from all


Запрет веб-доступа кроме IP (XXX.XXX.XXX.XXX):

Order deny,allow
Deny from all
Allow from xxx.xxx.xxx.xxx


Запретить доступ для IP (XXX.XXX.XXX.XXX):

Order allow,deny
Allow from all
Deny from xxx.xxx.xxx.xxx


Запрет доступа к файлам с несколькими типами расширений:

<Files ~ "\.(inc|conf|cfg)$"> 
  deny from all 
</Files>


Запретить доступ к определенному файлу (secret.php):

<Files secret.php> 
  deny from all 
</Files>


Вы так же можете запретить веб-доступ диапазону IP-адресов:

Order Deny,Allow
Deny from 192.168.0.0/16


Другие настройки

Запретить просмотр директории без индексных файлов:

Options -Indexes


Изменение индексной старницы загружаемой по умолчанию:

DirectoryIndex mypage.html


Несколько советов для работы с файлом .htaccess

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

Если Вас не устраивает все возможности настроек файла .htaccess - возможно заказ виртуального приватного серверера Вас заинтересует. На них вы можете вносить изменения непосредственно в настройки Apache. Наши предложения на виртуальные приватные сервера подойдут для любого пользователя.