Как создать файл htaccess. Как Создать Стандартный Файл.Htaccess в WordPress. Запретные команды для поискового бота

Faq 03.03.2020

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

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

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

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

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

Общий синтаксис директив очень прост, это пары команд и их опций, разделенных пробелом, например:

Команда параметр1 параметр2 флаги

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

Настройка доступа htaccess

Довольно часто htaccess используется для управления доступом к папке. Для управления доступом используются три команды:

  • order - порядок;
  • deny - запретить;
  • allow - разрешить.

Сначала, с помощью опции order, нужно указать в каком порядке будут выполняться директивы, значение имеет только эта команда, и неважно в какой последовательности они расположены в файле.

Затем с помощью директивы allow или deny мы разрешаем или запрещаем доступ к папке с определенных адресов. Например, чтобы запретить все необходимо добавить в htaccess:

Order deny,allow
Deny from all

Но мы также можем разрешить доступ только с локальной сети:

Order deny,allow
Deny from all
Allow 192.168.0.

Если указано deny,allow, то проверка будет выполняться в таком порядке. Сначала все директивы deny, затем все директивы allow, и если ни одно из условий не подошло, то запрос пропускается.При allow,deny такой запрос будет по умолчанию отклонен. Например, предыдущий пример можно написать так:

Order allow,deny
Allow 192.168.0.

Модификация URL в htaccess

Наиболее часто htaccess используется для модификации URL во время выполнения или редиректов. За эту функциональность отвечает модуль mod_rewrite и обычно он активирован в большинстве конфигураций Apache.

Модификация URL в htacces выполняется с помощью трех директив, это RewriteBase , которая указывает префикс адреса, RewriteCond проверяет соответствие, и RewriteRule - изменяет URL в соответствии с регулярным выражением если все правила соответствия подходят.

Сначала нужно включить Mod_Rewrite, на случай если модуль еще не активен:

RewriteEngine on

Укажем, что в качестве префикса для URL нужно использовать корень:

И будем автоматически заменять URL адреса с index.html на index.php, обратите внимание, что исходный URL - это путь к запрашиваемому файлу относительно расположения файла htaccess:

RewriteRule index.html /index.php

Для более эффективной замены можно использовать регулярные выражения они состоят из специальных символов и переменных и обычных символов и цифр. Рассмотрим основные специальные символы:

  • ^ - начало строки;
  • $ - конец строки;
  • . - любой символ;
  • * - любое количество любых символов;
  • ? - один определенный символ;
  • - последовательность символов, например, от 0 до 9;
  • | - символ или, выбирается или одна группа, или другая;
  • () - иcпользуется для выбора групп символов.

В регулярных выражениях htaccess также можно использовать переменные с данными, полученными из заголовков запроса, например:

  • %{HTTP_USER_AGENT} - поле User-Agent, которое передает браузер пользователя;
  • %{REMOTE_ADDR} - IP адрес пользователя;
  • %{REQUEST_URI} - запрашиваемый URI;
  • %{QUERY_STRING} - параметры запроса после знака?.

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

RewriteEngine On;
RewriteBase /;

Директива RewriteCond дает еще больше гибкости, вы можете выбрать к каким адресам стоит применять модификацию, например, будем переопределять данные только для версии с www:

RewriteBase /;
RewriteCond % {HTTP_HOST} ^www.site.ru$
RewriteRule ^(.*)\.html$ $1.php

Таким образом, вы можете выполнять любые преобразования ваших URL без фактических редиректов куда-либо. Но дальше мы рассмотрим как делать редиректы.

Настройка редиректов в htaccess

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

Самый простой редирект можно выполнить без mod_rewrite, с помощью такой строки:

Redirect 301 /index.html http://www.site.ru/index.php

Но обычно нужны перенаправления с более широким действием. Все выглядит очень похоже, только теперь мы используем флаг чтобы не учитывать регистр, [L] для прекращения обработки и [R] - для редиректа. Например, перенаправление htaccess с версии без www на домен с www:

RewriteCond %{HTTP_HOST} ^site\.ru$
RewriteRule ^(.*)$ http://www.site.ru/$1

Значение R=301 означает код редиректа, который будет возвращен клиенту, можно использовать 301, 302 и т д. Редирект htaccess с домена www на домен без префикса будет выглядеть так:

RewriteCond %{HTTP_HOST} ^www.site\.ru$
RewriteRule ^(.*)$ http://site.ru/$1

Таким же образом можно сделать переадресацию:

RewriteRule ^старый_адрес /новый_адрес/$1

Редирект с http версии на https:

RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ https://site.ru/$1

Настройка страниц ошибок в htaccess

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

Настройка htaccess для этого пункта будет очень полезной. Вы можете использовать директиву ErrorDocument. С помощью нее можно задать html страницы для ошибок 4хх и 5хх. Например, для 404:

ErrorDocument 404 http://site.ru/error/404.shtml
ErrorDocument 403 http://site.ru/error/403.shtml
ErrorDocument 401 http://site.ru/error/401.shtml
ErrorDocument 500 http://site.ru/error/500.shtml

Кэширование в htaccess

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

Сначала активируем модуль и устанавливаем период кэширования по умолчанию:

ExpiresActive On
ExpiresDefault "access plus 1 month"

Теперь мы можем настроить кэширование для каждого mime типа файлов:

ExpiresByType text/html "access plus 1 month 15 days 2 hours"
ExpiresByType image/gif "access plus 5 hours 3 minutes"
ExpiresByType image/x-icon "access plus 2592000 seconds"

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

  • image/x-icon;
  • image/jpeg;
  • image/png;
  • image/gif;
  • application/x-shockwave-flash;
  • text/css;
  • text/javascript;
  • application/javascript;
  • application/x-javascript;
  • text/html;
  • application/xhtml+xml;

Чтобы быть уверенным что эта конструкция не вызовет ошибок заключите ее в if:


Сжатие файлов в htaccess

Для сжатия в Apache можно использовать модуль deflate. Здесь достаточно просто перечислить mime типы файлов, которые нужно сжать. Например:

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript

Вы также можете заключить конструкцию if, чтобы проверить поддерживается ли этот модуль:


Выводы

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

На завершение предлагаю видео с обзором конфигурационного файла Apache:

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

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

§ 1. Файл.htaccess

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

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

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

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

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

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

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

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


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

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

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

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

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

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

§ 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

мы настроили переадресацию со всех страниц сайта с префиксом 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.*$
RewriteRule \.(jpe?g|bmp|gif|png|css|zip|pdf|txt|doc)$ -

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

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

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

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

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

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

AuthName "What do you want?"
AuthType Basic

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 будут доступны только по паролю.

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

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

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

Для тех, кто уже сталкивался ранее с данными настройками, то тем можно перейти сразу ко 2-му или 3-му разделу.

Как создать файл htaccess для сайта?

Для начала необходимо скачать текстовый редактор под названием Notepad++, на сайте notepad-plus-plus.org. Этот редактор с улучшенными способностями: подсвечивает код, поддерживает больше форматов файлов. Он вам понадобится и в будущем, когда вы освоитесь, то вам придется править код, и как раз этот редактор станет вашим маленьким и способным помощником.

После установки запустите его и нажмите в меню ФАЙЛ и выберите из выпадающего меню НОВЫЙ

Потом нужно выбрать из меню слово Правка и выбрать из выпадающего меню Конверсия конца строки и далее выбрать Преобразовать в UNIX-формат .

Ну вот и все. Осталось теперь сохранить данный файл. Для этого выберите меню файл , затем Сохранить как и когда откроется окно, перейдите вниз окна и введите в поле Имя файла: .htaccess, а в поле Тип файла: выбрать строчку All types(*.*) и можете нажимать кнопку Сохранить .

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

КАК ОБЕЗОПАСИТЬ САЙТ ОТ ВЗЛОМА С ПОМОЩЬЮ ФАЙЛА htaccess?

Безопасность — это хорошее настроение и гарантия успешности.
Странно начал? … не зря я начал описание с этого слова. Многие и многие сайты страдают от взлома и хакерских атак, результатом которых потеря информации (), потеря работоспособности сайта (пусть даже временная) и уже молчу про стресс и переживания — всё это, в конечном итоге, скажется на вашем доходе от ресурса.

Запугал? дааа, но здесь не до шуток.

Файл htaccess — это дополнительный файл для настроек и конфигурации вашего ресурса. Как правило он находится в главном каталоге вашего ресурса.

Если такого файла у вас нет, то можете создать его по инструкции раздела 1().

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

Таких файлов может находиться на вашем сайте сколько угодно. Его права действуют как правило на тот каталог, в котором он находится, а также на все подпапки этого каталога.

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

Минимальные настройки файла htaccess?

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

order allow,deny deny from all satisfy all

Защищаем файл wp-config.php

Данный файл содержит очень важные параметры сайта, да еще логин и пароль к базе данных. Оставив данную лазейку, вы 100% оставляете дверь открытой для взлома.

Allow from 00.00.00.00

Вместо 00.00.00.00 нужно указать свой статический адрес.

Защищаем директорию wp-content

Этот каталог содержит много нужной информации, которой тоже разбазариваться не стоит, а посему закрываем. Для этого нужно создать такой же файл.htaccess или скопировать из главной директории вашего сайта и вставить туда этот код(предварительно всё стерев из него). Далее полученный файл кладем в директорию wp-content вашего сайта.

В этом коде нужно учесть, что иногда у некоторых не открываются xml или css, то тогда нужно из кода удалить эти данные.

1 2 3 4 5 Order deny,allow Deny from all Allow from all

Order deny,allow Deny from all Allow from all

Защищаем от злостных сканеров и ботов

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

1 2 3 4 5 # BEGIN Bad Bot Blocker #SetEnvIfNoCase User-Agent "Abonti|aggregator|AhrefsBot|asterias|BDCbot|BLEXBot|BuiltBotTough|Bullseye|BunnySlippers|ca\-crawler|CCBot|Cegbfeieh|CheeseBot|CherryPicker|CopyRightCheck|cosmos|Crescent|discobot|DittoSpyder|DOC|DotBot|Download Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Fasterfox|FeedBooster|Foobot|Genieo|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|ieautodiscovery|InfoNaviRobot|IstellaBot|Java/1\.|JennyBot|k2spider|Kenjin Spider|Keyword Density/0\.9|larbin|LexiBot|libWeb|libwww|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|LNSpiderguy|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|moget|MSIECrawler|NetAnts|NICErsPRO|Niki\-Bot|NPBot|Nutch|Offline Explorer|Openfind|panscient\.com|PHP/5\.\{|ProPowerBot/2\.14|ProWebWalker|Python\-urllib|QueryN Metasearch|RepoMonkey|RMA|SemrushBot|SeznamBot|SISTRIX|sitecheck\.Internetseer\.com|SiteSnagger|SnapPreviewBot|Sogou|SpankBot|spanner|spbot|Spinn3r|suzuran|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|turingos|TurnitinBot|UbiCrawler|UnisterBot|URLy Warning|VCI|WBSearchBot|Web Downloader/6\.9|Web Image Collector|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|WebZip|Wotbox|wsr\-agent|WWW\-Collector\-E|Xenu|yandex|Zao|Zeus|ZyBORG|coccoc|Incutio|lmspider|memoryBot|SemrushBot|serf|Unknown|uptime files" bad_bot #SetEnvIfNoCase Referer "Abonti|aggregator|AhrefsBot|asterias|BDCbot|BLEXBot|BuiltBotTough|Bullseye|BunnySlippers|ca\-crawler|CCBot|Cegbfeieh|CheeseBot|CherryPicker|CopyRightCheck|cosmos|Crescent|discobot|DittoSpyder|DOC|DotBot|Download Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Fasterfox|FeedBooster|Foobot|Genieo|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|ieautodiscovery|InfoNaviRobot|IstellaBot|Java/1\.|JennyBot|k2spider|Kenjin Spider|Keyword Density/0\.9|larbin|LexiBot|libWeb|libwww|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|LNSpiderguy|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|moget|MSIECrawler|NetAnts|NICErsPRO|Niki\-Bot|NPBot|Nutch|Offline Explorer|Openfind|panscient\.com|PHP/5\.\{|ProPowerBot/2\.14|ProWebWalker|Python\-urllib|QueryN Metasearch|RepoMonkey|RMA|SemrushBot|SeznamBot|SISTRIX|sitecheck\.Internetseer\.com|SiteSnagger|SnapPreviewBot|Sogou|SpankBot|spanner|spbot|Spinn3r|suzuran|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|turingos|TurnitinBot|UbiCrawler|UnisterBot|URLy Warning|VCI|WBSearchBot|Web Downloader/6\.9|Web Image Collector|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|WebZip|Wotbox|wsr\-agent|WWW\-Collector\-E|Xenu|yandex|Zao|Zeus|ZyBORG|coccoc|Incutio|lmspider|memoryBot|SemrushBot|serf|Unknown|uptime files" bad_bot #Deny from env=bad_bot # END Bad Bot Blocker

# BEGIN Bad Bot Blocker #SetEnvIfNoCase User-Agent "Abonti|aggregator|AhrefsBot|asterias|BDCbot|BLEXBot|BuiltBotTough|Bullseye|BunnySlippers|ca\-crawler|CCBot|Cegbfeieh|CheeseBot|CherryPicker|CopyRightCheck|cosmos|Crescent|discobot|DittoSpyder|DOC|DotBot|Download Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Fasterfox|FeedBooster|Foobot|Genieo|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|ieautodiscovery|InfoNaviRobot|IstellaBot|Java/1\.|JennyBot|k2spider|Kenjin Spider|Keyword Density/0\.9|larbin|LexiBot|libWeb|libwww|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|LNSpiderguy|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|moget|MSIECrawler|NetAnts|NICErsPRO|Niki\-Bot|NPBot|Nutch|Offline Explorer|Openfind|panscient\.com|PHP/5\.\{|ProPowerBot/2\.14|ProWebWalker|Python\-urllib|QueryN Metasearch|RepoMonkey|RMA|SemrushBot|SeznamBot|SISTRIX|sitecheck\.Internetseer\.com|SiteSnagger|SnapPreviewBot|Sogou|SpankBot|spanner|spbot|Spinn3r|suzuran|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|turingos|TurnitinBot|UbiCrawler|UnisterBot|URLy Warning|VCI|WBSearchBot|Web Downloader/6\.9|Web Image Collector|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|WebZip|Wotbox|wsr\-agent|WWW\-Collector\-E|Xenu|yandex|Zao|Zeus|ZyBORG|coccoc|Incutio|lmspider|memoryBot|SemrushBot|serf|Unknown|uptime files" bad_bot #SetEnvIfNoCase Referer "Abonti|aggregator|AhrefsBot|asterias|BDCbot|BLEXBot|BuiltBotTough|Bullseye|BunnySlippers|ca\-crawler|CCBot|Cegbfeieh|CheeseBot|CherryPicker|CopyRightCheck|cosmos|Crescent|discobot|DittoSpyder|DOC|DotBot|Download Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Fasterfox|FeedBooster|Foobot|Genieo|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|ieautodiscovery|InfoNaviRobot|IstellaBot|Java/1\.|JennyBot|k2spider|Kenjin Spider|Keyword Density/0\.9|larbin|LexiBot|libWeb|libwww|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|LNSpiderguy|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|moget|MSIECrawler|NetAnts|NICErsPRO|Niki\-Bot|NPBot|Nutch|Offline Explorer|Openfind|panscient\.com|PHP/5\.\{|ProPowerBot/2\.14|ProWebWalker|Python\-urllib|QueryN Metasearch|RepoMonkey|RMA|SemrushBot|SeznamBot|SISTRIX|sitecheck\.Internetseer\.com|SiteSnagger|SnapPreviewBot|Sogou|SpankBot|spanner|spbot|Spinn3r|suzuran|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|turingos|TurnitinBot|UbiCrawler|UnisterBot|URLy Warning|VCI|WBSearchBot|Web Downloader/6\.9|Web Image Collector|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|WebZip|Wotbox|wsr\-agent|WWW\-Collector\-E|Xenu|yandex|Zao|Zeus|ZyBORG|coccoc|Incutio|lmspider|memoryBot|SemrushBot|serf|Unknown|uptime files" bad_bot #Deny from env=bad_bot # END Bad Bot Blocker

Запрещаем просмотр директории

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

1 2 # directory browsing Options All –Indexes

# directory browsing Options All –Indexes

Защита админки в WordPress

Если у вас есть желание создать двухуровневый доступ для входа в панель администратора Вордпресс, тогда нужно проделать некоторые манипуляции:
Зайти на сайт htaccesstools.com/htpasswd-generator, откроется следующее окно в котором нужно ввести имя пользователя, а во вторую строчку ввести пароль(только сложный). Не вводите простые пароли типа 12345, толку от них никакого. Далее нажмите на кнопку Create .htpasswd и сохраните файл на свой компьютер.

Размещаем данный файл в корне своего сайта. Конечно это не самое лучшее место, так как это место более открыто. НО я думаю для тренировки этого хватит, а далее вы уже переместите его в любую другую директорию (не забыв указать правильный путь к файлу.htpasswd).

Потом сохраните следующий код в корневом файле htaccess.

разместить этот файл в корне вашего сайта, потом перейти на него..php

Если вы сделали все как надо, тогда при входе в админку вам выдаст приглашение для ввода имени и пароля

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

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

РАСШИРЕННАЯ НАСТРОЙКА ФАЙЛА htaccess

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

Перенаправление страниц ошибок.

Предлагаю начать с подмены страницы ошибок. Это бывает тогда, когда посетитель открывает ошибочную страницу и его перебрасывает на страницу ошибки, но многие знают ошибку 404, а бывают еще 400, 401, 403, 500, которые обозначают разные ошибки. Так вот, когда перебрасывают посетителя на такую страницу, то такой страницы может и не быть, а попросту открывается страница вашего провайдера, после открытия которой пользователь закрывает страницу и вы теряете данного посетителя.

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

1 2 3 4 5 6 ErrorDocument 400 /errors/br.html ErrorDocument 401 /errors/aureq.html ErrorDocument 403 /errors/fb.html ErrorDocument 404 /errors/404.html ErrorDocument 500 /errors/serv.html #Замените /errors/*.html указание пути к странице с ошибки

ErrorDocument 400 /errors/br.html ErrorDocument 401 /errors/aureq.html ErrorDocument 403 /errors/fb.html ErrorDocument 404 /errors/404.html ErrorDocument 500 /errors/serv.html #Замените /errors/*.html указание пути к странице с ошибки

Перенаправление по 301, 302 ошибкам.

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

Options +FollowSymLinks RewriteEngine on RewriteRule (.*)

Блокирование открытия картинок с вашего сайта

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

RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+\.)?ваш-урл\.com/ RewriteCond %{HTTP_REFERER} !^$ #Нужно изменить путь к своей картинке. RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/noHL.jpg [L]

Склеиваем зеркала сайтов

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

RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://вашсайт.ru RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://вашсайт.ru

Кешируем браузер у клиента

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

1 2 3 4 5 6 7 8 9 10 11 12 Header append Cache-Control "private" FileETag MTime Size ExpiresActive On ExpiresDefault "access plus 0 minutes" ExpiresByType image/ico "access plus 1 years" ExpiresByType text/css "access plus 1 years" ExpiresByType text/javascript "access plus 1 years" ExpiresByType image/gif "access plus 1 years" ExpiresByType image/jpg "access plus 1 years" ExpiresByType image/jpeg "access plus 1 years" ExpiresByType image/bmp "access plus 1 years" ExpiresByType image/png "access plus 1 years"

Header append Cache-Control "private" FileETag MTime Size ExpiresActive On ExpiresDefault "access plus 0 minutes" ExpiresByType image/ico "access plus 1 years" ExpiresByType text/css "access plus 1 years" ExpiresByType text/javascript "access plus 1 years" ExpiresByType image/gif "access plus 1 years" ExpiresByType image/jpg "access plus 1 years" ExpiresByType image/jpeg "access plus 1 years" ExpiresByType image/bmp "access plus 1 years" ExpiresByType image/png "access plus 1 years"

Указание кодировки

Ну и так Вордпресс показывает же нормально, так то оно так, но вы же не знаете чем и на чем будут открывать ваш сайт, поэтому чтобы было железно, тогда ставьте.

Разрешение запуска PHP внутри Javascript.

Бывают моменты, когда код внутри скрипта запускает какую-нибудь функцию.

1 2 3 4 5 AddType application/x-httpd-php .js AddHandler x-httpd-php5 .js SetHandler application/x-httpd-php

AddType application/x-httpd-php .js AddHandler x-httpd-php5 .js SetHandler application/x-httpd-php

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

Если у вас есть вопросы, то пишите в комментариях у кого что и как работает или не работает.

Удачной вам правильной настройки htaccess!

Похожие записи

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

Проблема

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

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

2. Первый случай, но только у вас показываются расширения файлов и вы меняете "Новый текстовый документ.txt" на ".htaccess". Появляется такая ошибка.

Как же все-таки создать этот файл?

Решение

1. Вы можете просто скачать готовый htaccess . Например, для CMS wordpess можно скачать по ссылке . Если у вас система управления контентом другая, то можете просто удалить все содержимое файла и настроить под себя. Также можно скачать пустой htaccess.

134байт Количество загрузок: 266

2. Создать htaccess можно в файловом менеджере , который вы используете для связи с хостингом (сервером), например, WinSCP. New -> File

Для редактирования советую использовать текстовый редактор . Если вы знаете еще способы, то можете дополнить тему .

При поддержке .

Сервер Apache (на котором и находится большинство сайтов) имеет очень полезную возможность задавать определённые настройки сервера для конкретной директории (в частности, для одного сайта). Такой файл называется .htaccess . Однако, создавать его в Windows-системе так просто не получится. В этой статье я расскажу новичкам, как создаётся.htaccess в Windows .

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

  1. Открыть текстовый редактор (Notepad++ или даже обычный Блокнот ).
  2. В меню "Файл " выбрать "Сохранить как ".
  3. В выпадающем списке "Тип файла " выбрать "Все файлы ".
  4. Ввести в качестве имени ".htaccess " (разумеется, без кавычек).
  5. Нажать на кнопку "Сохранить ".

Для новичков кое-что добавлю. В этом файле надо сразу прописать кодировку сайта. Если это UTF-8 :

AddDefaultCharset UTF-8

Если это windows-1251 :

AddDefaultCharset CP1251

Далее этот файл надо поместить в корень сайта, там где находится index-файл (как правило, это index.html или index.php ). Я об этом написал, поскольку у многих новичков проблемы с кодировкой на сайте именно по этой причине.



Рекомендуем почитать

Наверх