Главная » Как создать правильный файл .htaccess
    РейтингРейтингРейтингРейтингРейтинг

Как создать правильный файл .htaccess

Файл .htaccess необходим для правильной и корректной работы вашего блога или сайта. В этой статье мы с Вами познакомимся с файлом .htaccess и создадим его.

Содержание:
  • § 1. Файл .htaccess
  •        1.1. Как создать файл .htaccess
  •        1.2. Настройка .htaccess.
  • § 2. Примеры использования файла .htaccess
  •        2.1. Ошибка 404 или как удержать посетителя
  •        2.2. Перенаправление старых ссылок на новые страницы с помощью редиректа 301
  •        2.3. Склейка зеркал при помощи 301 редиректа
  • § 3. Ограничение доступа
  •        3.1. Защита файла от хотлинка
  •        3.2. Защита поролем       

 

 § 1. Файл .htaccess

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

Особенности использования htaccess:

1. В нем можно переопределить большое количество директив, прописанных в главном файле httpd.confg

2. Если расположить htaccess-файл в корневой каталог, он распространится на весь сайт (исключения составят только те каталоги, в которых расположен собственный конфигурационный файл, и каталоги, расположенные ниже в древовидной структуре)

3. Разместить htaccess-файл можно в любой каталог, а его директивы будут применены ко всем подкаталогам

4. Htaccess не доступен пользователю для просмотра из браузера, так как относится к категории «системные».

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



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

Порядок действий для создания .htaccess:

1. Открыть текстовый редактор (Notepad++ или даже обычный Блокнот).

2. В меню "Файл" выбрать "Сохранить как".

3. В выпадающем списке "Тип файла" выбрать "Все файлы".

4. Ввести в качестве имени ".htaccess" (без кавычек).

5. Нажать на кнопку "Сохранить".

Далее вносим в него нужные директивы.


§ 2. Примеры использования файла .htaccess

Файл .htaccess лучше всего использовать для оперирования ошибок на сайте (вроде 404 или 301), для переписи URL или для того, чтобы выставить права на пользование директорией. Это отлично подходит, когда нужно указать новое расположение старого контента, при создании страницы ошибки для контента, которого больше не существует, для того, чтобы запросить пароль доступа к некоторым файлам или папкам на сервере, либо для того, чтобы превратить URL в более понятные и простые. Давайте рассмотрим некоторые варианты применения файла .htaccess:

       2.1. Ошибка 404 или как удержать посетителя

Попав на страницу с загадочной надписью "Ошибка 404", где запрашиваемая страница не найдена и предлагалось вернуться назад, откуда пришли. Некоторые из вас возвращаются, а некоторые просто закрывают страницу и уходят с сайта.

Ошибка 404 возникает в браузере пользователя, когда он набирает ошибочный или вовсе несуществующий адрес либо переходит на сайт по "битой" ссылке. Вот тогда и происходит автоматический переход пользователя на cерверную страницу ошибки.

Можно  сделать  свою страницу с сообщением об ошибке 404. К примеру:

"Тысячу извинений! Произошло  недоразумение! Обратитесь за помощью к карте сайта, это поможет найти все что надо. Приятного вам путешествия !"

Смысл создания собственной страницы с сообщением об ошибке 404 - удержать посетителя на сайте, не дать ему уйти.

 Создаем собственной страницы ошибок

1. Открываем Блокнот (текстовый редактор).

2. Вставляем туда следующий код :

 ErrorDocument 404 http://ваш_сайт/myerror.html

где ваш_сайт - доменное имя вашего сайта, а myerror - название страницы 404 ошибки.

3. Сохраняем этот файл с именем .htaccess. Файл .htaccess управляет страницей 404. 
4. Загружаем его в корневую директорию сайта. Созданная нами запись указывает серверу новое месторасположение и название страницы ошибок.
5. Создаем саму страницу ошибок, вписываем нужный текст, можно даже вставить какую-нибудь подходящую картинку и загружаем страницу в корневую папку.
6. Наберите в браузере строку http://ваш_сайт//abracadabra.html и увидите результат проделанной работы.

Наличие собственной страницы ошибки 404 не является решением всех проблем.

Удерживая с помощью собственной страницы ошибки 404 своих потенциальных клиентов, Вы увеличиваете вероятность того, что они купят именно у Вас, а не у Вашего конкурента!

Рекомендайии:

1. Удостоверьтесь, что Вы правильно написали и не забыли точку в начале имени файла: .htaccess.

2. Сделайте собственную страницу ошибки 404 визуально идентичной любой другой странице сайта, т.е. у посетителя должно создаться впечатление, что он находится на обычной странице сайта, а не на странице ошибки.

3. Собственная страница ошибки 404 не даст испортить репутацию как Вам, так и Вашему ресурсу!

       2.2. Перенаправление старых ссылок на новые страницы с помощью редиректа 301

Одна из серьезнейших проблем, с которой сталкиваются владельцы при переезде сайта, это значительные потери в позициях страницы в поисковых системах. Это вызвано тем, что старый контент переносится неверным образом на новое место, а поисковая система не оповещается о том, что имела место перемена места. Это приведет к исключению ссылки из результатов выдачи поисковой системы, и соответственно повлияет на рейтинг вебсайта в этой системе.

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

Redirect 301 http://domen.ru/old-page/ http://domen.ru/archive/new-page/

Redirect 301, указывает на тип ошибки и означает, что должно произойти перенаправление в тот момент, когда робот поисковой системы пытается обнаружить контент по старой ссылке. Первый URL-адрес показывает старую ссылку на контент, а второй URL ведет на уже обновленное место расположения контента. Хотя этот пример использует один и тот же домен для обоих URL,  редирект 301 позволяет вам перенаправлять пользователей и поисковые системы на новые доменные имена.


       2.3. Склейка зеркал при помощи 301 редиректа

Редирект 301 так же используют для переадресации страниц с префиксом www на страницы без www или наоборот. Для поисковых систем сайт ваш_сайт.ru - это два сайта с одинаковым содержанием, имеющие адреса: http://www.ваш_сайт.ru/ и http://ваш_сайт.ru. Такие сайты называются зеркалами.Таким образом, часть тиц и pr уходят с одного сайта на другой. Чтобы этого не происходило, и поисковые машины считали два этих сайта одним, произвести "склейку зеркал", то есть перенаправить пользователей и поисковых роботов с сайта с префиксом www на сайт без www или наоборот. Для этого в файле .htacces надо написать:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.ваш_сайт.ru
RewriteRule (.*) http://ваш_сайт.ru/$1 [R=301,L]

мы настроили переадресацию со всех страниц сайта с префиксом www


§ 3. Ограничение доступа

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

Чтобы запретить доступ ко всему сайту, необходимо в файле .htacces написать следующее:

deny from all

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

deny from all
order allow deny
deny from all
deny from ip_адрес_пользователя

"ip_адрес_пользователя" необходимо заменить на конкретный ip-адрес.

Чтобы разрешить доступ только с конкретного ip-адреса, можно написать:

order allow deny
deny from all
allow from ip_адрес_пользователя

3.1. Защита файла от хотлинка      

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

Защитить файлы от хотлинка при помощи файла .htaccess можно добавив в него две строчки:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?ваш_сайт.ru.*$ [NC]
RewriteRule \.(jpe?g|bmp|gif|png|css|zip|pdf|txt|doc)$ - [NC,F,L]

В скобочках через символ "|" указаны расширения файлов, доступ к которым будет запрещен всем, за исключением сервера и пользователей сайта ваш_сайт.ru

Чтобы открыть доступ к файлам с этим расширением для пользователей поисковых систем необходимо исключить на них запрет так же, как на ваш_сайт.ru:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?ваш_сайт.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yandex.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yahoo. [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google. [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?bing. [NC]
RewriteRule \.(jpe?g|bmp|gif|png|css|zip|pdf|txt|doc)$ - [NC,F,L]

3.2. Защита поролем

При помощи файла дополнительной конфигурации .htacces возможно установить пароль на директорию сайта, конкретный файл или группу файлов с одинаковым расширением.

Чтобы установить пароль на директорию, в .htaccess необходимо написать:

AuthName "What do you want?"
AuthType Basic
AuthUserFile /home/сервер/ваш_сайт.ru/pass/.htpasswd
require valid-user

Файл .htaccess, содержащий эти строки необходимо поместить в директорию, доступ к которой мы хотим закрыть. При попытке пользователя зайти на соответствующий раздел сайта сервер отдаст код статуса 401 (требуется авторизация) и выведет окно с полями для ввода имени пользователя и пароля и сообщением "What do you want?", указанным в директиве "AuthName" (допускаются только латинские символы и цифры).

Имена пользователей и пароли хранятся в файле .htpasswd. Путь к этому файлу задается в директиве "AuthUserFile".

Важно: путь к файлу .htpasswd указывается абсолютный, от корневого каталога сервера.

Чтобы узнать путь к .htpasswd, который необходимо указать в .htaccess, можно создать файл php, содержащий:

< ?php echo $_SERVER['DOCUMENT_ROOT']; ? >

Закачать этот файл на сервер туда же, где находится .htpasswd, и открыть его в браузере. В сгенерированной странице Вы увидите абсолютный путь к директории, указанный от корневого каталога сервера.

Установить пароль на конкретный файл можно следующим образом:

< Files file.txt > 
AuthName "It's not for all"
AuthType Basic
AuthUserFile /home/сервер/ваш_сайт.ru/pass/.htpasswd

Пароль на группу файлов:

< Files "\.(sql)$" >
AuthName " It's not for all "
AuthType Basic
AuthUserFile /home/сервер/ваш_сайт.ru/pass/.htpasswd

В данном случае все файлы, имеющие расширение .sql будут доступны только по паролю.

css template

Не забывайте написать ваш комментарий, понравилась ли статья. От вас пару слов, а мне — признание поисковых систем, что пишу нормальные человеческий статьи. Заранее спасибо вам!