Пополнить WebMoney
Вывод WebMoney
Обмен WebMoney
Кредит WebMoney

Настройка .htaccess.



По теме:

1. Как создать ".htaccess" файл

2. Настройка .htaccess

 

 

 

 

 

Как создать ".htaccess" файл.

Знакомство с файлом .htaccess. Описание, возможности  и настройки файла .htaccess
.htaccess (с точкой в начале имени) – это файл, который предназначен для настройки  работы сервера в отдельных директориях.
С файлом «.htaccess», мы можем устанавливать права доступа к файлам в директории, самостоятельно обрабатывать ошибки Apache, , менять названия индексных файлов, перенаправлять посетителей на специальные страницы ошибок 404, перенаправлять посетителя на другой сайт и многое др.

Давайте рассмотрим возможности файла .htaccess
  • открыть или закрыть доступ к каталогам без индексного файла;

  • запаролить директорию – ограничить доступ по логину – паролю (htpasswd);

  • закрыть внешние ссылки (с других сайтов) на архивы;

  • запретить доступ к файлам определенного формата, или доступ к сайту в определенный промежуток времени;

  • запретить или открыть доступ по IP адресов;

  • сменить или добавить еще несколько новых названий индексного файла;

  • включить по мере необходимости проверку в страницах определенного формата – типа на наличии SSI, Perl, PHP и др. включений – директив;

  • сделать редерикты (Redirect) –перенаправления пользователя на другую страницу;

  • управлять на сайте роботами поисковых систем;

  • перенести сайт на новый домен – смена домена;

  • использовать свои собственные страницы ошибок, например,

    401 Authorization Required – Требуется авторизация
    403 Forbidden – Доступ запрещен
    404 Not Found – Документ не найден
    500 Internal Server Error – Ошибка в работе сервера

  • при необходимости сменить кодировку страниц отправляемых web - сервером посетителям;

  • запретить или нужным образом настроить кэширование веб сервера;

Теперь давайте перейдём к основной и практической части - это настройка самого файла «.htaccess».  Найдите на хостинге в корне вашего сайта  файл «.htaccess», если у вас его нет, значит создайте. Файл «.htaccess» можно создать в течение нескольких секунд. Перейдите по ссылке, создавайте файл «.htaccess» и возвращайтесь назад к настройкам. 
Будем считать, что вы создали файл «.htaccess» или он уже был у вас на хостинге.  Можем начинать настройку «.htaccess». 


Настройка .htaccess
Примеры использования .htaccess

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

Redirect / http://nocrisise.ru

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

redirect /company http://www.nocrisise.ru/newcompany
redirect /forum http://www.nocrisise.ru/newforum


При запросе страниц из каталогов company и forum будет произведено перенаправление на новые адреса newcompany и newforum.

 

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


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


Если посетитель имеет IP-адрес 199.199.199.9, то ему будет открыта страница «only.html».


Изменение названия индексной страницы:

DirectoryIndex index.html index.php index.shtml

Можно указать несколько индексных страниц. При запросе каталога они будут искаться в том порядке, в котором перечислены в директиве DirectoryIndex. Если не будет найден файл index.html, то будет произведен поиск файла index.php и т.д. Это удобно, если вы поменяли расширение index файла.


Выполнять код PHP в файлах HTML

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html .phtml

Добавив эти строки в .htaccess вы дадите директиву серверу выполнять инструкции PHP не только в файлах с расширением *.php и *.phtml, но и в файлах с расширением *.htm и *.html.


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

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


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

401 ошибка — Требуется авторизация (Authorization Required).

403 ошибка — пользователь не прошел аутентификацию, доступ запрещен (Forbided).

404 ошибка — Документ не найден (Not Found).

500 ошибка — Внутренняя ошибка сервера (Internal Server Error).

Запрет на отображение листинга каталога при отсутствии индексного файла

Options –Indexes



Разрешить отображение листинга каталога

Options +Indexes



Определение кодировки, в которой сервер выдает файлы браузеру

AddDefaultCharset windows-1251



Определение кодировки на загружаемые файлы

CharsetSourceEnc windows-1251



Запрет доступа ко всем файлам

deny from all

Запрещен доступ ко всем файлам в текущей директории.



Запретить доступ с определенного IP-адреса

deny from 199.199.299.79



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

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


Запрещен доступ посетителей к файлам config.php.



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

<Files "*.conf">
deny from all
</Files>


Здесь запрещен доступ к файлам с расширением *.conf.



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

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

Запрещен доступ к файлам с расширением *.inc, *.conf и *.cfg.



Установка пароля на директорию

AuthName "Admin page"
AuthType Basic
AuthUserFile /www/account_name/.pass
require valid-user


Файл с вышеприведенными директивами следует положить в защищаемую директорию. В директиве AuthUserFile прописывается путь к файлу, содержащему шифрованные пароли.

 

Редирект на перемещенные или переименованные страницы.

Если вы переименовали или переместили некоторые страницы на сайте и хотите, чтобы посетители увидели уже новые страницы, даже если они обращаются по старому адресу, следует в файл htaccess прописать следующий код:

Redirect 301 /olld.html http://site.com/new.html

Также вы можете использовать такой редирект для того, чтобы страница не потерялась для поисковиков.

 

Запрет обращений к .htaccess

Защитить их можно следующим образом, однако, это по умолчанию уже есть в httpd(2).conf, то есть в самой конфигурациии веб-сервера.

<Files ~ "^\.ht">
Order allow,deny
Deny from all

</Files>



Запрет прямых ссылок на ресурсы

Например, некий сайт размещает у себя изображение, находящееся на Вашем сайте, просто указав его в тэге <img src>. При этом все обращения к такой странице вызовут скачивание данного изображения с Вашего сайта; таким образом, будет расходоваться Ваш траффик и пропускная способность канала сервера, а посетители чужого веб-сайта увидят изображение, хранящееся у Вас, без соответствующего контекста.
Как же бороться с подобной практикой?
Рассмотрим следующий пример части файла .htaccess:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(js|css)$ - [F]


Данный код запрещает обращения к .js и .css файлам (скрипты javascript и описания Cascading Style Sheets), если они производятся не с Вашего сайта.

Другой пример:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule\.(png|gif|jpg|jpeg)$ http://www.mydomain.com/youaretheworst.gif [R,L]

При обращении извне к изображениям, хранящимся на вашем сайте, вместо самих изображений будет отображаться содержимое файла youaretheworst.gif

 

Внимание: если браузер выдаёт «ОШИБКА 500», после загрузки файла .htaccess на сервер, это значит что:

1 - неверный синтаксис .htaccess 

2 - файл .htaccess записан в формате Windows, а должен быть записан в формате UNIX.

Если вы не поняли, о чём сейчас идёт речь, перечитайте статью
«Как создать .htaccess файл»


Понравилась статья? - добавь ее себе!


 





сайт-визитка / шаблон сайта / обработка фотографий / дизайн афиши, обложки книг, журнал, флаеры и т.д.
 
 
Подробней





nocrisise.ru © 2009-2012