Полезные приемы в работе с .htaccess. Статьи. wb0.ru - Все для веб-мастера, on-line сервисы

Полезные приемы в работе с .htaccess

.htaccess (Hypertext Access file) файлы являются очень мощным инструментом по конфигурации веб-сервера Apache. Сервер Apache Web имеет множество опций настройки, которые доступны для администратора сервера. .htaccess это простой текстовый ASCII файл, размещенный на веб-сайте в корневом каталога. Вы можете создавать и редактировать .htaccess файлы с помощью любого текстового редактора.

Перед тем, как рассказать о полезных приемах работы с .htaccess, которые я нарыл на просторах интернета, в частности спасибо блогу www.thomsonchemmanoor.com, нужно ввести четкое правило: перед тем как вы делаете какие-либо изменения в .htaccess - обязательно делайте резервные копии файла.

  1. Настраиваемые страницы ошибок придают вашему сайту профессиональный вид и помогают тем посетителям, которые попадают на ваш сайт по "битым ссылкам". Создание страницы ошибки, с .htaccess на Linux Apache является очень простой задачей. Для этого подойдет любой текстовый редактор, допустим блокнот. В файл .htaccess нужно добавить такие строки:

    1. ErrorDocument 401 /error/401.php
    2. ErrorDocument 403 /error/403.php
    3. ErrorDocument 404 /error/404.php
    4. ErrorDocument 500 /error/500.php

  2. Как установить часовой пояс на вашем сервере

    1. SetEnv TZ America/Houston

  3. Блокировка IP-адреса в .htaccess

    Иногда вам придется блокировать определенные IP-адреса для доступа к вашему сайту или определенному каталогу. Это довольно простая задачей. Все, что вам нужно сделать, это внутри .htaccess файла прописать следующий код:

    1. allow from all
    2. deny from 145.186.14.122
    3. deny from 124.15

    Если вы используете весь IP, то добавляйте строки по типу второй в коде. Если используете диапазон адресов, то задавайте диапазон по типу третьей строки кода, как полные так и диапазоны IP добавляются каждый с новой строки. Когда кто-то пытается получить доступ к сайту с запрещенным IP он получает 403 ошибка доступа.

  4. Дружественная для SEO 301-я переадресация для постоянных плохих/старых ссылок и ссылок, которые "переехали".

    1. Redirect 301 /d/file.html http://www.domainname.com/r/file.html

  5. Установить адрес электронной почты администратора сервера. С помощью этого кода вы можете указать адрес электронной почты по умолчанию для администратора сервера.

    1. ServerSignature EMail
    2. SetEnv SERVER_ADMIN default@domain.com

  6. Защита "хотлинков" в .htaccess очень важна, потому что кто-угодно может использовать прямую ссылку на ваши изображения и "съедать" всю пропускную способность сервера. Следующий код поможет вам предотвратить это.

    1. Options +FollowSymlinks
    2. # Protect Hotlinking
    3. RewriteEngine On
    4. RewriteCond %{HTTP_REFERER} !^$
    5. RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc]
    6. RewriteRule .*.(gif|jpg|png)$ http://domainname.com/img/hotlink_f_o.png [nc]

  7. Запрет на все запросы User Agent. Путем создания списка запрета в .htaccess, можно заблокировать всех нежелательных агентов пользователя, которые будут создавать нежелательную нагрузку на сервер.

    1. ## .htaccess Code :: BEGIN
    2. ## Block Bad Bots by user-Agent
    3. SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
    4. SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
    5. SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
    6. SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
    7. SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
    8. SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
    9. SetEnvIfNoCase user-Agent ^Zeus [NC]
    10. <Limit GET POST HEAD>
    11. Order Allow,Deny
    12. Allow from all
    13. Deny from env=bad_bot
    14. </Limit>
    15. ## .htaccess Code :: END

  8. Переадресация всех к различным сайтам, за исключением нескольких IP. Если вы хотите перенаправлять всех посетителей на другой IP и предоставить доступ посетителям лишь с несколькими IP-адресами, то вы можете использовать следующий код:

    1. ErrorDocument 403 http://www.youdomain.com
    2. Order deny,allow
    3. Deny from all
    4. Allow from 124.34.48.165
    5. Allow from 102.54.68.123

  9. Запрет загрузки фалов определенного типа. Как правило, при попытке загрузить что-нибудь, нажимая на ссылку, вы получаете сообщение системы с запросом о том сохранить или открыть загружаемый файл.

    Чтобы запретить автоматическую загрузку вы можете использовать код приведенный ниже в своем .htaccess файле:

    1. AddType application/octet-stream .pdf
    2. AddType application/octet-stream .zip
    3. AddType application/octet-stream .mov

  10. Изменить тип файла. Сделать так чтобы любой файл был определенного типа, можно используя код приведенный ниже. В примере любые файлы типа image.jpg, index.html, default.cgi будут выступать в качестве PHP.

    1. <Files test>
    2. ForceType application/x-httpd-php
    3. SetHandler application/x-httpd-php
    4. </Files>

  11. Блокировать доступ к вашему .htaccess файлу. Добавив следующий код в файле .htaccess вы предотвратите попытки несанкционированного доступа к нему. Этот дополнительный уровень безопасности для защиты .htaccess файлов, отображает 403 сообщение об ошибке в браузере.

    1. # secure htaccess file
    2. <Files .htaccess>
    3. A order allow,deny
    4. A deny from all
    5. </Files>

  12. Защита доступа к некоторым конкретным файл на вашем сервере. Это может быть сделано путем добавления указанного ниже кода. Например, вы хотите блокировать файл с именем default.jpg? Код ниже позволит избежать просмотра этого файла.

    1. # prevent access of a certain file
    2. <files default.jpg>
    3. A order allow,deny
    4. A deny from all
    5. </files>

  13. Запретить доступ к несанкционированным просмотром. Защита конкретных каталогов от просмотра может быть сделано путем отдачи сервером сообщений об авторизации или запрещенном доступе, при каждом запросе к запрещенной директории. Как правило, если ваш сайт не имеет индексовой страницы заданной по умолчанию, то все файлы в этом каталоге будут доступны для посетителей. Чтобы избежать этого используйте следующий код в файле .htaccess файле.

    1. # disable directory browsing
    2. Options All -Indexes

  14. Настройка страницы по умолчанию. Вы можете задать любую страницу для определения по умолчанию в определенной категории. Например, в этом коде страницей сайта по умолчанию устанавливается about.html вместо index.html

    1. # serve alternate default index page
    2. DirectoryIndex about.html

  15. Защита паролем ваших каталогов и файлов. Вы можете создать аутентификации для для доступа к определенным файлов и директориям. В коде представлены примеры как защиту паролем один файл, и защитить паролем целый каталог.

    1. # защищаем файл
    2. <Files secure.php>
    3. AuthType Basic
    4. AuthName "Prompt"
    5. AuthUserFile /home/path/.htpasswd
    6. Require valid-user
    7. </Files>
    8. # защита паролем директории
    9. resides
    10. AuthType basic
    11. AuthName "This directory is protected"
    12. AuthUserFile /home/path/.htpasswd
    13. AuthGroupFile /dev/null
    14. Require valid-user

  16. Перенаправление старого домена на новый домен. С помощью .htaccess файла вы можете перенаправить старое имя домена на новый домен. Для этого добавьте следующий код в файле .htaccess.

    1. # redirect from old domain to new domain
    2. RewriteEngine On
    3. RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]

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


Дата публикации: 05.05.2011
master-web.info

Статьи по теме:

   Ваш псевдоним:
Ваш комментарий:

Календарь событий


Новости Интернет


Поиск





Последний пересчет

тИЦ:07 Окт 15
PR:09 Дек 13

Наши партнеры

wservices.ru - регистрация доменов, Whois-сервисы Смайлы на все случаи жизни