Как настроить Htaccess

Buzz
11389 Просмотров
Это руководство по Htaccess для начинающих. Файл Htaccess предназначен для настройки конфигурации веб-сайта. Htaccess – файл конфигурации, который встречается обычно на Apache, Zeus и Sun Java System веб-серверах. Позволяет задавать большое количество дополнительных параметров для работы веб-сервера в отдельных каталогах. Htaccess нельзя использовать на серверах Microsoft на базе IIS и на серверах, работающих не под управлением Apache.


Чтобы создать и загрузить Htaccess файл:

1. Откройте любой текстовый редактор (например, geditor в Ubuntu или блокнот в Windows).
2. Введите синтаксис Htaccess, который в бы хотели использовать на своем сайте.
3. Сохраните его как .Htaccess. (перед словом Htaccess должна стоять точка и у файла не должно быть расширения).

Если вы загрузите файл Htaccess в конкретный внутренний каталог, то его директивы будут распространяться только на этот каталог.

Важно: если у вас уже есть Htaccess файл на сайте и вы планируете сделать в нем какие-либо изменения, обязательно сделайте бекап первоначального файла.

301 редирект со старых URL на новые

Предположим, что у вас есть URL-адреса, которые вы удалили, т.к. они уже никому не нужны, либо решили заменить на новые. С точки зрения SEO, вы можете потерять много веса и трафика, который имели эти страницы, а следовательно и траста сайта.

Что нужно сделать? Вместо того, чтобы у этих адресов был статус 404 (документ не найден или не существует), нужно сделать 301 редирект со старых адресов на новые. Благодаря этому методу, если эти старые ссылки по-прежнему проиндексированы, любой пользователь, зашедший с поисковых систем или других веб-сайтов на эту страницу будет автоматически перенаправлен на новую. Пример 301 редиректа:

Код:
redirect 301 /2009/04/how-to-make-blogger-post-title-unique.html http://webmasters.ru/how-to-make-blogger-post-title-unique/
redirect 301 /about/ http://webmasters.ru/about-codexm/
В примере выше использованы 2 команды перенаправления. В первой команде идет перенаправление со страницы
Код:
http://webmasters.ru/2009/04/how-to-make-blogger-post-title-unique.html
к странице
Код:
http://webmasters.ru/how-to-make-blogger-post-title-unique/
Во второй команде идет перенаправление со страницы
Код:
http://webmasters.ru/about/
К странице
Код:
http://webmasters.ru/about-codexm/
Что делать, если у вас есть URL с пробелами? К примеру:
Код:
http://webmasters.ru/wp-content/uploads/tutorials/Excel database functions sample sheets.xls
В таком случае нужно использовать двойные кавычки в строке перенаправления, к примеру:
Код:
redirect 301 "/wp-content/uploads/tutorials/Excel database functions sample sheets.xls"  http://webmasters.ru/excel-database-sample-sheets/
Примечание: файл Htaccess c 301 редиректом нужно разместить в корневой каталог сайта. Если файл там уже есть, то вам нужно его лишь отредактировать (вам не нужно создавать отдельный файл).

Отключение доступа к «тяжелым» файлам для сохранения пропускной способности сайта

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

С ростом популярности сайта, он и так начинает страдать из-за «кражи пропускной способности», чаще всего это связано с размещением фотографий вашего сайта на других сайтах. Это не только замедляет работу сайта, но и может ослабить его безопасность. Для предотвращения этого можно использовать файл Htaccess.

К примеру, вы хотите запретить или ограничить доступ к таким файлам, как MP3, JPG и WAV с других сайтов, разрешив только использование их на вашем домене. Реализуется это следующим образом:

Код:
## DISABLE HOTLINKING
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?yourdomain.org/.*$ [NC]
RewriteRule .(mp3|jpg|wav)$ - [F]
Загрузив Htaccess с такими настройками в корневой каталог вы запретите доступ ко всем файлам этих форматов с других доменов, кроме вашего.

Разрешение доступа к «тяжелым» файлам для нескольких доменов

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

Код:
## DISABLE HOTLINKING
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?yourdomain.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.)?webmasters.ru/.*$ [NC]
RewriteRule .(mp3|jpg|wav)$ - [F]
Таким образом, сайт webmasters.ru может давать прямые ссылки на скачку и просмотр файлов формата Mp3, JPG и WAV с сайта Yourdomain.org.

Запрет доступа к админке и личным папкам

Это самый важный момент в настройках безопасности сайта. С помощью файла Htaccess, к примеру, можно запретить доступ к папке /wp-admin/ в WordPress всем, кроме вас. Если же вы оставите административные папки открытыми для всех, то вы рискуете быть подверженным атаке хакеров, которые могут попытаться, к примеру, подобрать пароль на странице /wp-login/. Чтобы запретить доступ всем, кроме вашего IP-адреса, нужно прописать что-то вроде этого:

Код:
Order allow,deny
Allow from 76.161.33.242
Вместо 76.161.33.242 впишите ваш IP адрес. Узнать свой IP можно на сайте http://www.whatismyip.com.
Примечание: будьте аккуратны, смотрите чтобы ваш IP был статическим (не менялся при переподключении к интернету), иначе сами не сможете попасть в админку.

Если хотите разрешить доступ к административным папкам с нескольких IP-адресов (к примеру, домашний и рабочий), тогда впишите в Htaccess файл следующие строки:

Код:
Order allow,deny
Allow from 76.161.33.242
Allow from 84.154.236.3
Теперь c IP-адреса 84.154.236.3 тоже открыт доступ к админке. Помните, чтобы защитить определенную папку, файл Htaccess нужно помещать именно в нее. Допустим, вы хотите закрыть к доступу папку /administrator/. В таком случае вам надо поместить этот файл с настройками именно в эту папку, а не в корень сайта.

Как проверить, работает ли запрет в .Htaccess

После установки настроек, необходимо убедиться, что все работает верно. Самый быстрый и простой способ – попробовать зайти в закрытую папку с другого компьютера. Если другого компьютера нет, поступаем следующим образом:

Шаг 1. Запускаем браузер.

Шаг 2. Заходим на любой сайт с прокси-серверами:
http://www.proxybrowsing.com/
http://www.eatmybrowser.com/
http://www.ninjacloak.com/

Шаг 3. Зайдите на http://www.whatismyip.com через этот прокси-сервис.

Шаг 4. Запишите свой текущий IP-адрес. Помните, что с помощью прокси-сервера вы скрываете свой истинный IP-адрес и пользуетесь прокси-адресом.

Шаг 5. Попробуйте зайти в закрытую от посторонних IP-адресов папку вашего сайта.

Шаг 6. Сервер должен отказать вам в посещении этой папке и выдать статус 403 Forbidden, т.к. текущий IP-адрес не совпадает с тем, который разрешен в файле Htaccess.

[B]Шаг 7. /B]Теперь попробуйте добавить этот прокси-адрес в файл Htaccess. Очистите историю и кеш браузера и попробуйте снова зайти в каталог, в который пробовали до этого.

Если доступ разрешен, значит все отлично, файл Htaccess работает. Не забудьте теперь удалить прокси-адрес из этого файла.

Принудительная загрузка файлов определенного типа

Предположим, что на вашем сайте есть ссылки на PDF-файлы, размещенные на вашем сервере. Для удобства пользователей, вам бы хотелось, чтобы в окне браузера отображалось диалоговое окно с предложением загрузить этот файл. Тоже самое можно сделать и с mp3 файлами и с любыми другими. Для принудительного скачивания файлов определенного типа в Htaccess нужно вписать следующие строки:

Код:
<files *.pdf> 
forceType application/octet-stream 
Header set Content-Disposition attachment 
</files>
В приведенном выше примере вы заставите пользователя скачать файл в формате PDF. Вы можете изменять расширение на какое угодно, в зависимости от ваших желаний. Вот пример скриншота с окном диалога, принуждающего пользователя скачать файл:



Примечания:
1. Файл Htaccess с такими настройками надо поместить в папку, в которой содержаться файлы данного типа, к примеру, в папку /PDF/.

2. Не все сервера хостингов разрешают использовать множество файлов конфигураций Apache, поэтому стоит предварительно проконсультироваться по этому поводу с сапортом вашего хостинга.
Миниатюры Миниатюры Нажмите на изображение для увеличения.  Название:	htaccesstips.jpg  Просмотров:	6466  Размер:	22.6 Кб  ID:	935   Нажмите на изображение для увеличения.  Название:	htaccess.jpg  Просмотров:	9401  Размер:	5.5 Кб  ID:	936  
    5 Комментарии
    1. Аватар для vitashok
      Полезно, ретвит от меня
      vitashok
      • Аватар для grazer
        Только что заметил, что в поле код косяк какой-то, надо отписать чтобы пофиксили.
        grazer
        • Аватар для seoburn
          О, отличный мануал. Помню как-то не мог найти, как сделать 301 редирект. А тут все расписано подробно для новичков.
          seoburn
          • Аватар для vitashok
            Ага, я как то тоже про 301 искал.
            В закладки себе пост сохранил.
            Еще раз спасибо
            vitashok
            • Аватар для grazer
              Цитата Сообщение от seoburn
              О, отличный мануал.
              Цитата Сообщение от vitashok
              Еще раз спасибо
              Всегда пожалуйста.
              grazer