Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как настроить файл htaccess


Настройка файла htaccess | Losst

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

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

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

Содержание статьи:

Синтаксис файла htaccess

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

Все директивы из файла htaccess выполняются точно так же, как если бы они были размещены в глобальном конфигурационном файле, только внутри директивы <Directory адрес_папки_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 нужно использовать корень:

RewriteBase /

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

RewriteRule index.html /index.php

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

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

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

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

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

RewriteEngine On;
RewriteBase /;
RewriteRule ^(.*)\.html$ $1.php

Директива 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

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

RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

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

RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

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

RewriteRule ^старый_адрес /новый_адрес/$1 [R=301,L]

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

RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

Настройка страниц ошибок в 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:

<ifModule mod_expires.c>
</ifModule>

Сжатие файлов в 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, чтобы проверить поддерживается ли этот модуль:

<ifModule mod_deflate.c>
</ifModule>

Выводы

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

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

что это такое, как правильно создать и настроить

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

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

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

Возможности и для чего нужен

В данном файле сайтостроители могут:

  • Настраивать директивы простого перенаправления (редиректы). Это позволит после смены домена отправить посетителя со страницы предыдущего сайта на новый проект.
  • Переадресовывать с URL, где есть www, на домен без www. Или же на https после того, как установите ssl сертификат.
  • Описывать ошибки. В их числе и ошибка 404 с заменой на необходимую страницу.
  • Кэширование файлов. Делается с целью ускорения работы веб-ресурса.
  • Создавать ЧПУ. Это «Человеко-понятные УРЛы», то есть, формируются ссылки, понятные для интернет-пользователей.
  • Изменять исходный код страниц.
  • Управлять доступом к файлам и директориям при помощи паролей.
  • Задавать индексный файл.
  • Открывать и закрывать доступ с определенных IP-адресов.
  • Управлять поисковыми ботами на сайте.
  • Настраивать директивы сложного направления.

Главное предназначение .htaccess – настраивать сайт и каталоги в соответствии с определенными требованиями. То есть, посредством этого файла, SEO-специалисты и программисты могут изменять настройки веб-сервера, даже не имея администраторских прав. Но изменения вносятся только для определенного сайта, и на сам сервер они никак не влияют.

Конфигурации сервера изменяются только с использованием директив (команд), включающих в себя «ключ» и «значение» для него. Все самые важные директивы, позволяющие управлять сервером, находятся в основном файле конфигурации, называющимся httpd.conf. Проблема в том, что у рядового пользователя нет возможности получить к нему доступ, так как там находится большое количество параметров, от которых зависит работоспособность всего сервера. Вот почему актуален .htaccess, позволяющий менять некоторые директивы в главном файле.

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

Где находится .htaccess

Можно с легкостью проверить, есть ли у вас служебный файл. От многих других документов он отличается тем, что имеет только расширение в виде названия из слова, тогда как самого названия нет. Да, мы все привыкли видеть файлы с названием из слова, и расширением после точки, которое состоит всего из 2-3 букв. Но пустые названия позволяют делать файлы и папки «скрытыми», с открытым исходным кодом. Из этого следует вывод, что .htaccess для обычных пользователей остается невидимым, поэтому они не смогут его изменить.

Но есть у этого метода «скрытия» файла и обратная сторона медали. В стандартных FTP-клиентах на ОС Windows и Mac, документ очень часто остается невидимым для пользователей, из-за чего они ошибочно полагают, что его просто нет. Поэтому человек создает новый файл для внесения своих конфигураций, кодов для обработки ошибок, создания доступа к папкам и пр. Хорошо, что большинство хостингов оставляют место на диске, где htaccess-файл уже установлен автоматически.

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

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

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

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

Для этого вам понадобится самый обычный текстовый редактор, к примеру, Блокнот, который есть на любом ПК:

  1. Откройте Блокнот, ничего в нем не пишите.
  2. Выберите пункт «Файл» и нажмите «Сохранить как».
  3. Появится окно, где напротив пункта «Тип файла» выберите «All types» или «Все файлы».
  4. В строке «Имя файла» введите .htaccess и кликните на «Сохранить».

Далее перепроверьте, создан ли документ правильно. Обязательно посмотрите, не сохранили ли вы его как .htaccess.txt. Затем загрузите файл в корневую папку сервера, и если не отобразится ошибка 500, значит, вы все сделали правильно.

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

Примеры использования

Рассмотрим самые популярные команды для .htaccess.

Редирект

Эти директивы используются с завидной регулярностью. Они позволяют перенаправить посетителя со старого URL на новую страницу. Это возможно благодаря 301-редиректу. Достаточно в код файла вписать:

Redirect 301 /старый_URL.html http://www.название_вашего_сайта.ru/новый_URL.html

В целом директива будет отображена в таком виде:

Redirect [status] URL_LOCAL URL_REDIRECT

URL_LOCAL – это старый адрес, с которого осуществляется перенос пользователя.

URL_REDIRECT – новый URL, куда переносится страница.

В поле [status] могут быть следующие значения:

  1. 301 – страница перенесена навсегда.
  2. 302 – страница перенесена на время.
  3. 303 – смотрите другую страницу.
  4. 410 – страница удалена.

Mod_rewrite (директивы сложного переноса)

Этот модуль содержится в Apache. В нем есть изобилие самых разных директив для расширенного управления адресами. К основным из них относятся:

1. Указание основного зеркала

Предназначен для того, чтобы преобразовать домен с www на URL без www. Достаточно ввести правило:

RewriteEngine On # включает работу RewriteCond %{HTTP_HOST} ^www.название_вашего_сайта\ru$ [NC] #условия для начала перенаправления RewriteRule ^( *)$ http://название_вашего_сайта_/$1 [R=301,L] #правило преобразования
2. Перенос на https

На сегодняшний день поисковик Google активно призывает владельцев сайтов к использованию безопасного соединения, для чего необходимо перенаправлять пользователей с http на https при помощи кода:

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URL)
3. Проставление слеша в конце адреса

Если вы не хотите, чтобы URL страницы заканчивался названием каталога http://название_вашего_сайта.ru/catalog, введите в файл код:

RewriteCond %{REQUEST_URI} /+[^\.]+$ RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

Выполнив данную команду, в дальнейшем после адреса в автоматическом режиме будет добавляться слеш: http://название_вашего_сайта.ru/catalog/

4. Перенос домена

Изменив название сайта, не забудьте в .htaccess указать:

RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.yoursite.ru\.ru$ [NC] RewriteRule ^(.*)$ http://www.your-site.ru/$1 [R=301,L]

Оптимизируя сайт и под Яндекс, и под Google, изменение доменного имени может быть чревато неприятными последствиями. Инструкции в robots.txt, предназначенные для Яндекса, перекрываются 301-редиректом. Но этого можно не допустить, добавив в код правило:

RewriteEngine on RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC] RewriteRule ^([^/]+) $1 [L] RewriteCond %{HTTP_HOST} ^mysite\.ru RewriteRule ^(.*)$ http://www.my-site.ru/$1 [R=301,L]
5. Запретные команды для поискового бота

В .htaccess, так же, как и в robots.txt, можно закрыть доступ к сайту для роботов поисковых систем:

RewriteEngine on RewriteCond %{USER_AGENT} Googlebot RewriteRule .* - [F] # F – выдает ошибку 403 – запрещено для сканирования

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

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

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

ErrorDocument 404 /siteerror404.html

Индексные документы

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

DirectoryIndex name.xml

Либо добавить несколько таких страниц, и поисковик будет находить их в соответствующей последовательности:

DirectoryIndex index.html index.php index.pl

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

Данная функция нужна, чтобы текст отображался на экране пользователя правильно. Иначе вместо нормальной читабельной страницы он будет видеть непонятные символы. Сегодня широко распространена кодировка: Windows-1251 – Кириллица и UTF-8 – двухбайтовая кодировка. Для выбора кодировки в служебном документе, применяется директива:

AddDefaultCharset WINDOWS-1251

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

CharsetSourceEnc WINDOWS-1251

Указание паролей для директорий

Для этого в закрываемом каталоге пропишите:

AuthName "Need password" #сообщение для запроса пароля AuthType Basic #тип аутентификации AuthUserFile /passwords/.psd #имя файла, содержащее пароли для входа Require valid-user #имя пользователей, которым открыт доступ

Доступ к файлам и директориям

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

Deny from all

Для запрета просмотра определенного файла, например, test.php:

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

Открыть просмотр для конкретного IP, и при этом закрыть доступ остальным, позволяет команда:

<Files "passwd.html"> Order Deny,Allow Deny from all Allow from 12.345.678.90 </Files>

12.345.678.90 – пример IP-адреса (здесь нужно указать нужный вам IP).

Заключение

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

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

Файл htaccess - полное руководство по настройке

В данной статье Вы узнаете о настройках файла htaccess: о редиректах и перезаписи, а также о конфигурировании веб-сервера и его защите.

Что такое .htaccess? (Hypertext Access)

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

Из-за специфики названий тип файла htaccess не всегда заметен. Чтобы его увидеть, необходимо активировать “ dot files ” или “ .files ” в вашем программном обеспечении FTP/Cpanel. Если возникают сложности, можно создать и редактировать файл как .txt (просто изменить расширение и название во время загрузки).

Всегда делайте бэкап htaccess, когда собираетесь внести какие бы то ни было изменения. Если ошибетесь, сайт высветит ошибку 500 Internal Server Error, и для последнего изменения можно будет просто поместить символ # перед кодом в файле htaccess.

  1. Вы можете комментировать ссылки в htaccess с помощью # , количество символов не имеет значения; к примеру, ## или ### можно использовать для описательных комментариев, а один # — для активации/деактивации кода.
  2. Используйте блокнот для редактирования в Windows, это удобно.
  3. Всегда делайте бэкап.
  4. Htaccess применяется к каталогу, в котором находится, и, таким образом, ко всем каталогам уровнем ниже; это значит, что при перемещении в корневой каталог, он сможет управлять всем сайтом.
  5. Ошибки в htaccess провоцируют 500 Internal Server Error ( внутреннюю ошибку сервера), но без паники — восстановите резервную копию или откомментируйте последний код.

Перезапись кода

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

## Rewrite Engine Code ##

Options +FollowSymLinks

RewriteEngine on

Управление ошибками

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

Вы можете создавать собственные страницы в любом формате PHP/HTML.

Они не обязательно должны быть в корневом каталоге, но обязательно на одном сервере.

Если поместите URL целиком, тогда статус 404 не появится, скорее всего будет 301 или 200 Error.

ErrorDocument 404 http://www.example.com/404.html

## Error Handling Codes ##

ErrorDocument 401 /401.html

ErrorDocument 403 /403.html

ErrorDocument 404 /404.html

ErrorDocument 400 /400.html

Можно использовать больше или меньше кодов. Полный список кодов ошибок по ссылке Wikipedia.

Временная блокировка индексации

К примеру, может понадобиться, чтобы некоторое время люди вначале попадали на промостраницу. (Вы можете использовать index.php и для других целей).

Это больше относится к сфере общей безопасности и юзабилити, чем к SEO .

Этот сниппет кода блокирует доступ пользователей к спискам файлов.

## Block Index Display ##

Options All -Indexes

Set Default Index File

В любом случае, это удобный код. Нужно только изменить файл; тип файла не обязательно должен быть в HTML.

## Set Default Index Files ##

DirectoryIndex newindex.html

Защита Htaccess

Ваш файл htaccess потенциально уязвим, поэтому обезопасьте его.

## Secure htaccess file ##

<Files .htaccess>

Order Allow,Deny

Deny from all

</Files>

Если у вас WordPress, такой код защитит файл wp-config.php.

## Secure wp-config.php ###

<Files wp-config.php>

Order Allow,Deny

Deny from all

</Files>

Защита локации паролем

С помощью htaccess вы можете защитить определенные сегменты сайта. Вот полезный инструмент для создания этих файлов http://www.tools.dynamicdrive.com/password/

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

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

MyUsername:MyPassword

Нужно загрузить файл htpasswd в соответствующее место на сервере с помощью любой программы для пересылки файлов, это должен быть каталог не для общего доступа (не помещайте в /www/ или /htdocs/ ). И еще нужно записать путь файла из корневого каталога, это может выглядеть так:

/private/script/.htpasswd “.

После загрузки в htaccess добавляется новый раздел.

AuthName “Restricted Area”

AuthType Basic

AuthUserFile /private/script/.htpasswd

<Files /downloads>

require valid-user

</Files>

Блокировка прямых ссылок (хотлинкинг)

htaccess экономит полосу пропускания, таким образом решается проблема известная как хотлинк ( включение в веб-страницу ресурсов чужого сервера) .

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

## Block Hotlinking ##

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]

RewriteCond %{HTTP_REFERER} !^$

RewriteRule .*\.(jpe?g|gif|bmp|png)$ – [F]

Если только 1-2 специфических сайта (обычно социальные) приводят к данной проблеме, используйте код:

## Block Hotlinking ##

RewriteEngine On

RewriteCond %{HTTP_REFERER} ^http://(.+\.)?myspace\.com/ [NC,OR]

RewriteCond %{HTTP_REFERER} ^http://(.+\.)?friendfeed\.com/ [NC,OR]

RewriteCond %{HTTP_REFERER} ^http://(.+\.)?livejournal\.com/ [NC]

RewriteRule .*\.(jpe?g|gif|bmp|png)$ – [F]

Это крайняя мера, которую стоит применять в случаях, когда имеются частые хотлинкеры .

«Сохранить как»

Если у вас блог или другой контентный сайт, определенные файлы будут провоцировать диалог “Save As” (сохранить как), вместо того, чтобы браузер их загружал. Этот код идеален для каталога ресурсов.

Целесообразнее выбрать определенный подкаталог для кода.

## Force a file to download with a “Save As” ##

AddType application/octet-stream .doc .mov .avi .pdf .xls .mp4

Перенаправить всех, c сохранением IP

Этот способ удобен во время внеплановых работ по технической части.

## Redirect Everyone but Selected IP Address ##

ErrorDocument 403 http://www.myoldsite.com

Order deny,allow

Deny from all

Allow from 111.111.111.111

Понадобится изменить ваш собственный IP-адрес (скопировать линию для каждого IP сотрудников), и отключить это, когда все будет готово.

Выборочная блокировка IP

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

Также вы можете с помощью этого сайта сгенерировать код блокировки любых IP:

http://www.htaccesstools.com/block-ips/

## Block IP Address ##

order allow,deny

deny from 127.0.0.1

deny from 127.0.0.2

deny from 127.0.0.3

allow from all

Раздел 2: перенаправления и перепись

Htaccess позволяет переписать и изменить URL, заменить автоматически созданные ссылки.

Перенаправление с http:// на www

Это старая проблема — добиться, чтобы сайт индексировался и в http://mydomain.com, и в www.mydomain.com.

Иногда бывает так, что сайт индексируется дважды, что не совсем хорошо в плане SEO.

Данная часть кода превратит любой запрос для версии http в www.

## Redirect non-www to the www version ##

RewriteCond %{HTTP_HOST} ^example.com [NC]

RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

Измените example.com на своей домен.

Перенаправление файла индекса (Index File) в корневой каталог

Еще одна проблема двойной индексации: поисковики индексируют и

www.example.com/ и www.example.com/index.php.

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

## Redirect index to root ##

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.html\ HTTP/

RewriteRule ^(.*)index\.html$ /$1 [R=301,L]

В этом коде нужно изменить и название файла индекса (в 99% случаев это просто индекс), и расширение (обычно html, htm or php).

Перенаправление всех страниц на SSL

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

Еще понадобится сертификат безопасности и настройки сервера.

RewriteBase /

RewriteCond %{REMOTE_HOST} !^111\.11\.11\.11

RewriteCond %{REQUEST_URI} !^/downtime\.html$

RewriteRule ^(.*)$ /downtime.html [R=302,L]

## Redirect all Pages to Secure ##

RewriteCond %{HTTPS} !on

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Стандартное перенаправление 301

Перенаправление 301 сообщает Google и браузерам, что запрашиваемая страница перемещена в другое место.

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

Это намного лучше в сравнении со страницей 404, так, по крайней мере, внешние ссылки будут попадать на рабочие страницы.

## Standard 301 Redirect for Permanent Changes ##

redirect 301 /old-page.html http://www.example.com/newpage.html

Нужно изменить только две ссылки: первая — это старая страница, связанная с htaccess (обычно в корне), и вторая — полная ссылка на новую локацию. У вас может быть столько линий, сколько вы хотите перенаправить, но не стоит перенаправлять один и тот же url несколько раз.

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

Стандартное перенаправление (301) — подкаталог

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

Есть два способа сделать это:

## Redirect for a Directory – Preserves Request ##

RedirectMatch 301 ^/old-folder(.*) http://www.example.com/$1

Первый — сохраняет запрашиваемый файл. Если кто-то запрашивает mysite.com/blog/example.html — последует перенаправление на mystie.com/example.html.

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

Лучше убедиться, что новые файлы присутствуют, в противном случае появится 404.

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

## Redirect a Directory – Does not preserve Request ##

RedirectMatch 301 ^/old-folder(.*)$ http://www.example.com/new-page.php

Опять же, кастомизировать эти коды очень просто. Нужно лишь вписать старый каталог и новые локации . Если хотите перенаправить на новый подкаталог, просто измените окончание url, чтобы там был подкаталог, но проверьте, что вы оставили $1 в первом примере.

302

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

## Standard 302 Redirect for Temporary Changes ##

redirect 302 /old-page.html http://www.example.com/newpage.html

Изменение типа запросов файлов

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

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

## Code to make all HTML requests become PHP requests ##

RedirectMatch 301 (.*)\.html$ http://www.example.com$1.php

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

Перенаправьте все подкаталоги, за исключением корневого каталога

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

## Redirect an Entire Domain – Preserve Request ##

RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

 

## Redirect all Subfolders to New Domain but Keep Root Intact ##

RewriteRule ^([^/]+)\/(.*)$ http://www.example.com/$1/$2/$3 [R=301,L]

Перенаправление всего домена

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

У вас должен быть Google Webmaster Tools, установленный на старом домене, затем вы сможете сообщать Google, что перемещаете домены.

Есть два способа: с сохранением запросов и без. Если у нового домена будет такой же сайт и столько же страниц и ресурсов, тогда лучше сохранить запросы. Другими словами, пользователь, запрашивающий /best-page.html на старом сайте, увидит best-page.html на новом.

Вы можете сделать полное перенаправление домена без сохранения запросов.

По сути, нужно отдельно перенаправить разделы веб-сайта на соответствующие разделы нового сайта, но есть более простой способ.

## Redirect an Entire Domain – No Preservation ##

Redirect 301 / http://www.newdomain.com

Перепись динамического URL

Большинство динамических URL выглядят примерно так:

http://www.mysite.com/posts.php?category=widgets

Они состоят из домена, файла и строки запросов, которая, в свою очередь, состоит из двух частей : поля и значения.

Для оптимизации URL нужно убрать строку запросов и использовать ее для создания структурированного URL.

В первом случае сделаем URL, который заканчивается как статический файл, то есть превратим URL в http://www.mysite.com/posts-about-widgets.php

RewriteRule ^posts-about-([^/]+).php/?$ /posts.php?category=$1&foo=bar [L]

RewriteCond %{QUERY_STRING} category=([^/]+)

RewriteCond %{QUERY_STRING} !foo=bar

Задается маппинг старого URL на новом.

Здесь три линии; первая определяет место старого URL на новом, вторая — место 1-ой строки запросов, третья — точка остановки, чтобы избежать беспрерывного перенаправления.

Первая линия позволяет установить формат новой страницы, в нашем случае это http://www.mysite.com/posts-about-widgets.php.

Вы можете изменить первую часть URL.

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

В этом примере — посты из категории виджетов, поэтому нужны соответствующие ключевые слова в URL.

PHP — тип файла, который используется в данном случае, но это может быть html или htm.

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

Вторая линия содержит ссылку на переменную, понадобится изменить поле — добавить ваш URL, а все остальное оставить. По сути, этот код сообщает: «любое количество различных символов и цифр».

Теперь у нас новая страница, но, вероятнее всего, система все еще будет генерировать старые ( уродливые) URL, поэтому нужно перенаправить людей на новую страницу. Для этого понадобится правило переписи/замены Rewrite Rule , которое заменяет запросы для строки запросов в новом ярком URL:

RewriteRule ^posts\.php$ /posts-about-%1.php? [L,R=301]

Относительно просто, не так ли? Нужно только поместить ваш старый URL в первую часть, ваш новый URL — во вторую часть. И вуа-ля! Динамическое перенаправление на новую страницу со старой переменной готово!

Совместим части кода. Мы заменили пример с текстом для вставки, чтобы запомнить части, к которым относится каждое утверждение (statement).

Возможно, вы захотите перейти к новому типу URL, возможно, вернуться обратно, к странице http://www.mysite.com/posts/widgets instead of that .php. Это также возможно, нужно лишь немного изменить код.

## Rewrite Dynamic URL to A Static Page ##

RewriteRule ^new-page-([^/]+).php/?$ /old.php?field=$1&foo=bar [L]

RewriteCond %{QUERY_STRING} field=([^/]+)

RewriteCond %{QUERY_STRING} !foo=bar

RewriteRule ^old\.php$ /new-page-%1.php? [L,R=301]

 

## Rewrite Dynamic URL to A Static SubFodler ##

RewriteRule ^new-folder/([^/]+)/?$ /old.php?field=$1&foo=bar [L]

RewriteCond %{QUERY_STRING} field=([^/]+)

RewriteCond %{QUERY_STRING} !foo=bar

RewriteRule ^old\.php$ /new-folder/%1/? [L,R=301]

Здесь все так, как и прежде, но в данном случае мы назвали первый подкаталог вручную и позволили полю стать вторым подкаталогом.

Раздел 3: скорость и тонкая настройка

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

GZIP compression

GZIP compression — серверная функция, которая уменьшает вес веб-страниц и скриптов прежде, чем они отправляются в браузер.

Прежде эта технология была довольно несовершенной, в особенности в безопасных разделах и платежных шлюзах. Сейчас все на порядок лучше. Большая часть браузеров (даже старых) принимает GZIP.

Есть несколько вариантов активировать GZIP. Не нужно изменять код — просто скопируйте и вставьте.

На этом сайте можно проверить, активирован ли GZIP на вашем ресурсе, и сколько времени/места сэкономлено.

http://www.gidnetwork.com/tools/gzip-test.php

Вот четыре способа, выберите один из них:

## Enable GZIP Version 1 ##

php_value output_handler ob_gzhandler

css_value output_handler ob_gzhandler

js_value output_handler ob_gzhandler

 

##ENABLE GZIP Version 2##

<Ifmodule mod_gzip.c>

mod_gzip_on Yes

mod_gzip_dechunk Yes

mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$

mod_gzip_item_include handler ^cgi-script$

mod_gzip_item_include mime ^text\.*

mod_gzip_item_include mime ^application/x-javascript.*

mod_gzip_item_exclude mime ^image\.*

mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

</Ifmodule>

 

##Enable GZIP Version 3##

<Files *.php>

SetOutputFilter DEFLATE

</Files>

<Files *.js>

SetOutputFilter DEFLATE

</Files>

<Files *.css>

SetOutputFilter DEFLATE

</Files>

<Files *.html>

SetOutputFilter DEFLATE

</Files>

 

##Enable GZIP Version 4##

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

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4.0[678] no-gzip

BrowserMatch bMSIE !no-gzip !gzip-only-text/html

Активация кэширования

Кэширование позволяет постоянным посетителям не загружать повторно каждый элемент сайта. Если у вас WordPress, тогда можно взять несколько плагинов, например WP Hyper Cache.

Если у вас статический сайт, htaccess дает возможность применить кэширование. Стоит все перепроверить. Если у вас нестандартная CMS, или какой-либо динамический контент, ошибки с кэшированием могут привести к тому, что сайт перестанет обновляться. Поэтому стоит консультироваться с разработчиками.

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

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

## Enable Caching ##

## Files to Cache for One Month ##

<FilesMatch “\.(flv|gif|jpg|jpeg|png|ico|swf)$”>

Header set Cache-Control “max-age=2592000”

</FilesMatch>

 

## Files to Cache for One Week ##

<FilesMatch “\.(js|css|pdf|txt)$”>

Header set Cache-Control “max-age=604800”

</FilesMatch>

## Files to Cache for One Day ##

<FilesMatch “\.(html|htm)$”>

Header set Cache-Control “max-age=43200”

</FilesMatch>

 

## Disable cache for script files ##

<FilesMatch “\.(pl|php|cgi|spl|scgi|fcgi)$”>

Header unset Cache-Control

</FilesMatch>

GZIP и кэширование существенно улучшают производительность сайта.

Минимизация 404 за счет проверки грамматических ошибок

Check Spelling — это модуль сервера Linux Server Module. Check Spelling проверяет сервер на предмет наличия подобных URL.

К примеру, пользователь допускает ошибку, вписывая в браузер такой адрес:

http://www.mysite.com/caje/red.html

Но на самом деле он/она хотел написать:

http://www.mysite.com/cake/red.html

Check Spelling фиксирует такую незначительную ошибку и исправляет ее (если, конечно, не существует caje/red.html). Также учитывается состояние регистра строчных и прописных символов в URL.

##Make Linux correct case sensitive urls/slight typos in urls##

CheckSpelling On

Настройка файла .htaccess - ИТ Проффи

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

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

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

В целом Apache не рекомендует использовать файл .htaccess, если пользователь сам может работать с файлами конфигурации Apache.

Подключение файла .htaccess

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

$ sudo nano /etc/apache2/sites-available/default

Найдите в этом файле следующий раздел и измените значение параметра AllowOverride c None на All. В конечном итоге раздел должен выглядеть так:

Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all

Сохраните и закройте этот файл, а затем перезапустите apache.

$ sudo service apache2 restart

Создание файла .htaccess

Файл .htaccess можно создать в любом текстовом редакторе, например:

$ sudo nano /var/www/example.com/.htaccess

Убедитесь, что его имя строго .htaccess, а затем при помощи ftp-клиента загрузите его на сайт.

Использование файла .htaccess

Использование файла .htaccess не требует таких высоких привилегий, как доступ файлу apache2.conf, но при этом позволяет осуществлять эффективное управление сайтом. Далее мы рассмотрим ряд примеров применения этого файла.

Управление доступом

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

Order Allow,Deny
 Deny from All
 Allow from 192.168.1.1

Директива Order указывает порядок выполнения следующих директив (сначала Allow — разрешение, затем Deny — запрет). Deny from All запрещает доступ вообще, но так как в соответствии с порядком выполнения сначала разрешен доступ с адреса 192.168.1.1, запрет будет действовать для всех, кроме указанного адреса. Вместо IP-адресов можно указывать подсети (например, формат 192.168 означает подсеть 192.168.x.x) или доменные имена.

Аутентификация

Использование .htaccess позволяет выделить определенную часть сайта и защитить ее паролем. Пароли .htaccess хранятся в файле .htpasswd. Создайте файл, внесите в него имена и пароли всех пользователей, которым вы хотите предоставить доступ к защищенной части сайта, и сохраните его. Файл не должен находиться в веб-директории (по соображениям безопасности). Введите в этот файл любое необходимое количество записей в формате пользователь:пароль. Для каждого пользователя нужно создать отдельную строку. Пароль должен быть указан в закодированном виде. Для кодирования паролей можно воспользоваться специальным сайтом или программой htpasswd, которая входит в комплект установки Apache. Для создания файла и добавления пользователей с помощью утилиты httpasswd используйте команду

htpasswd -cm .htpasswd admin

Эта команда создаст пользователя admin и запросит ввести пароль для него. После ввода пароля запись в файл .htpasswd будет добавлена.

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

AuthUserFile /usr/local/username/safedirectory/.htpasswd
AuthGroupFile /dev/null
AuthName «Пожалуйста, введите пароль»
AuthType Basic
Require valid-user

Рассмотрим значение этих параметров:
AuthUserFile: путь к файлу .htpasswd на сервере
AuthGroupFile: эта строка используется для обозначения месторасположения файла .htgroup. Так как мы его не создавали, можем указать здесь /dev/null.
AuthName: Текст, отображаемый в предложении ввести пароль.
AuthType: Тип аутентификации, используемый для проверки пароля. При проверке паролей через HTTP нужно оставить значение Basic.
Require valid-user: Ключевая фраза, которая указывает файлу .htaccess наличие нескольких пользователей, которым требуется обеспечить возможность входа в защищенную паролем часть сайта. Другой возможный вариант – ключевая фраза «require user username», обозначающая конкретного пользователя с разрешенным доступом.

Сообщения об ошибках

Файл .htaccess позволяет вам создавать для своего сайта собственные страницы, сообщающие об ошибках. Вот некоторые из наиболее распространенных ошибок:

400 Ошибка в запросе
401 Требуется авторизация
403 Доступ запрещен
404 Файл не найден
500 Внутренняя ошибка сервера

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

Для примера мы рассмотрим страницу 404, аналогичным образом можно описать в файле .htaccess страницы для других ошибок. Естественно, сначала нужно создать саму страницу с необходимой информацией и загрузить ее на сервер. Затем укажите ее месторасположение в файле .htaccess:

ErrorDocument 404 /new404.html

В рассматриваемом примере сервер будет искать страницу 404 в корневой директории сайта. Если она находится в какой-либо поддиректории, нужно указать путь, например:

ErrorDocument 404 /error_pages/new404.html

Описание типов MIME

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

AddType audio/mp4a-latm .m4a

В данном примере для файлов с расширением .m4a задано представление в виде аудиозаписей. Для поддержки других типов MIME укажите соответствующий тип и расширение файла.

Серверные включения

Серверные включения (Server Side Includes, SSI) позволяют добиться значительного повышения скорости открытия сайта. Они представляют собой директивы для динамической генерации данных на странице сервером перед ее отправкой клиенту. Один из наиболее распространенных вариантов использования SSI – обновление большого количества страниц с передачей определенных данных вместо обновления каждой страницы по отдельности (например, если вам нужно заменить цитату в нижней части страницы).

Для использования SSI введите в файл .htaccess следующий код:

AddType text/html .shtml
 AddHandler server-parsed .shtml

Первая строка задает интерпретацию файлов с расширением .shtml как html-кода, а вторая – обработку таких файлов с любыми командами SSI на сервере.

Однако, если у вас много страниц .html, и вы не хотите менять расширение, для их обработки команд SSI в этих файлах можно воспользоваться XBitHack. Следующая строка в файле .htaccess заставляет сервер проверять все html-файлы с соответствующими разрешениями на наличие SSI:

XBitHack on

Для того, чтобы установить необходимые для XBitHack разрешения, воспользуйтесь командой:

chmod +x имя_страницы.html

Редирект

Эти директивы используются с завидной регулярностью. Они позволяют перенаправить посетителя со старого URL на новую страницу. Это возможно благодаря 301-редиректу. Достаточно в код файла вписать:

Redirect 301 /index.html http://domain.ru/newindex.html

В целом директива будет отображена в таком виде:

Redirect [status] URL_LOCAL URL_REDIRECT

URL_LOCAL – это старый адрес, с которого осуществляется перенос пользователя.

URL_REDIRECT – новый URL, куда переносится страница.

В поле [status] могут быть следующие значения:

301 – страница перенесена навсегда.
302 – страница перенесена на время.
303 – смотрите другую страницу.
410 – страница удалена.

Модуль Mod_Rewrite

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

RewriteEngine On
 RewriteCond %{HTTP:PORT} !^443$
 RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

Первая строка активирует модуль Mod_Rewrite, а две последующие при попытке соединения по отличному от 443 порту переписывают URL, чтобы он начинался не с HTTP, а c HTTPS, перенаправляя посетителя на защищенное соединение.

Управление кэшированием данных

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

ExpiresActive on
 ExpiresByType image/jpeg "access plus 1 day"
 ExpiresByType image/gif "modification plus 3 months"
 ExpiresByType text/html "now"

отключает кэширование для HTML, для изображений JPEG устанавливает срок в 1 день с момента обращения, а для GIF — 3 месяца с момента модификации файла.

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Настройка файла htaccess

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

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

Для локальной работы с файлами htaccess можно использовать XAMPP (или MAMP) на Mac – пакет, который устанавливает и конфигурирует Apache, PHP и MySQL. Для редактирования файлов .htaccess на Mac нужно применить текстовый редактор, позволяющий открывать скрытые файлы, такой как TextWrangler.

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

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

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

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

Переадресация и перезапись URL

Файлы .htaccess широко используются для выполнения переадресации или перезаписи URL’ов. Это очень удобно при оптимизации SEO после смены доменного имени, или при реорганизации файловой структуры, или для сокращения длинного некрасивого URL’а и превращения его в более удобный и запоминающийся.

Переадресация

Переадресация может быть совсем простой, как тут:

Redirect 301 ^old\.html$ //localhost/new.html

Redirect 301 ^old\.html$ //localhost/new.html

Тут код статуса HTTP устанавливается на 301 (постоянно меняемый) и переадресовывает все запросы к old.html прямиком на new.html. Для совмещения URL’а с переадресацией мы применяем регулярное выражение, что даёт нам отличный контроль над применением только верного URL’а, но усложняет конфигурацию и управление ей. Требуется полный URL переадресовываемого ресурса.

Перезапись

Перезапись может быть простой, как здесь:

RewriteEngine on RewriteRule ^old\.html$ new.html

RewriteEngine on

RewriteRule ^old\.html$ new.html

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

Для обновления того, что отображено в адресной строке браузера посетителя, можно использовать метку R в конце RewriteRule, например:

RewriteRule ^old\.html$ //hostname/new.html [r=301]

RewriteRule ^old\.html$ //hostname/new.html [r=301]

Метка r вызывает внешнее перенаправление, вот почему тут приведен полный URL (пример URL здесь) новой страницы. Также при использовании метки можно определить код состояния. Таким образом обновляется адресная строка браузера пользователя.

Одним из возможных использований перезаписи URL, упомянутых мной в начале этого раздела – это сделать некрасивые URL’ы (содержащие информацию строкового запроса) более дружественными для посетителей и поисковых движков. Давайте рассмотрим это в действии:

RewriteRule ^products/([^/]+)/([^/]+)/([^/]+) product.php?cat=$1&amp;amp;brand=$2&amp;amp;prod=$3

RewriteRule ^products/([^/]+)/([^/]+)/([^/]+) product.php?cat=$1&amp;amp;brand=$2&amp;amp;prod=$3

Это правило позволит посетителям использовать такой URL, как products/turntables/technics/sl1210, и преобразовать его в product.php?cat=turntables&brand=technics&prod=sl1210. Круглые скобки между косыми чертами в вышеприведенном регулярном выражении – это собирающие группы – мы можем применять любую из них, как $1, $2 и $3 соответственно. Символьный класс [^/]+ в круглых скобках означает совпадение любого символа один или более раз, кроме косой черты

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

Создание необычных страниц ошибок

Стандартную страницу ошибки 404 демонстрировать больше не «круто». На многих сайтах пользуются возможностью, предоставляемой ошибкой file not found, для того, чтобы внести в нее некоторую долю юмора, хотя подразумевается, что худо-бедно, но страница с ошибкой 404 должна соответствовать стилю и теме любой другой страницы сайта.

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

ErrorDocument 404 "/404.html"

ErrorDocument 404 "/404.html"

Это – всё, что нам нужно; при возникновении ошибки 404 всегда отображается указанная страница. Еще мы можем конфигурировать страницы для отображения многих других ошибок сервера.

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

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

AuthName "Username and password required" AuthUserFile /path/to/.htpasswd Require valid-user AuthType Basic

AuthName "Username and password required"

AuthUserFile /path/to/.htpasswd

Require valid-user

AuthType Basic

Затем этот файл нужно поместить в каталог, требующий защиты. Указатель AuthName определяет сообщение, которое следует отобразить в диалоговом окне «имя пользователя/пароль», AuthUserFile должен послужить путём к файлу .htpasswd. Указатель Require уточняет, что только авторизовавшиеся пользователи могут получить доступ к защищённому файлу, в то время как AuthType установлен на Basic.

Чтобы защитить некий файл, можно обернуть вышеупомянутый код в указатель files, определяющий защищённый файл:

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

<Files "protectedfile.html"> AuthName "Username and password required" AuthUserFile /path/to/.htpasswd Require valid-user AuthType Basic </Files>

<Files "protectedfile.html">

   AuthName "Username and password required"

   AuthUserFile /path/to/.htpasswd

   Require valid-user

    AuthType Basic

</Files>

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

Блокирование доступа к определённым объектам

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

order allow,deny deny from 192.168.0.1 allow from all

order allow,deny

deny from 192.168.0.1

allow from all

Указатель order говорит Apache, в каком порядке оценивать директивы allow/deny. В данном случае первым оценивается allow, а за ним deny. Указатель allow from all оценивается самым первым (даже если появляется после deny) и разрешаются все IP, далее, если IP клиента соответствует указанному в параметре deny, доступ запрещается. Таким образом, доступ разрешается всем IP, кроме указанного. Следует отметить, что, кроме того, можно лишить доступа целые блоки IP, предоставив более короткий IP, например, 192.168.

Для запрета запросов с агента пользователя можно сделать следующее:

RewriteCond %{HTTP_USER_AGENT} ^OrangeSpider RewriteRule ^(.*)$ //%{REMOTE_ADDR}/$ [r=301,l]

RewriteCond %{HTTP_USER_AGENT} ^OrangeSpider

RewriteRule ^(.*)$ //%{REMOTE_ADDR}/$ [r=301,l]

В этом примере любой клиент со строкой HTTP_USER_AGENT, начинающейся с OrangeSpider (вредный бот), перенаправляется обратно к адресу, с которого был инициирован. Регулярное выражение сопоставляет любой одиночный символ (.) ноль или более раз (*) и переадресовывает к переменной среды %{REMOTE_ADDR}. Метка l, которую мы здесь применили, отдает Apache указание рассматривать это соответствие как последнее правило, и, таким образом, до перезаписи прочие правила выполняться не будут.

Вмешиваемся в режим визуализации IE

Наряду с контролем над тем, как сервер отвечает на определённые запросы, можно сделать кое-что с браузером пользователя, например, вынудить IE отображать страницы, используя определённый движок визуализации. Так, можно применить модуль mod_headers, если тот присутствует, для установки заголовка X-UA-Compatible:

Header set X-UA-Compatible "IE=Edge"

Header set X-UA-Compatible "IE=Edge"

Путем добавления этой строки в файл .htaccess IE отдается указание применить самый высокий доступный режим отображения. Как показывает HTML5 Boilerplate, еще можно избежать установки этого заголовка в не требующие его файлы, использовав параметр FilesMatch следующим образом:

<FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot| ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|xpi|safariextz|vcf)$" > Header unset X-UA-Compatible </FilesMatch>

<FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|

ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|xpi|safariextz|vcf)$" >

      Header unset X-UA-Compatible

</FilesMatch>

Осуществление кэширования

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

Если вы проверяете свой сайт на Google PageSpeed или Yahoo’s YSlow и получили сообщение об установке долгосрочных заголовков, то вот как это можно исправить:

ExpiresActive on ExpiresActive on ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/webm "access plus 1 month"

ExpiresActive on

ExpiresActive on

ExpiresByType image/gif                 "access plus 1 month"

ExpiresByType image/png                 "access plus 1 month"

ExpiresByType image/jpg                 "access plus 1 month"

ExpiresByType image/jpeg                "access plus 1 month"

ExpiresByType video/ogg                 "access plus 1 month"

ExpiresByType audio/ogg                 "access plus 1 month"

ExpiresByType video/mp4                 "access plus 1 month"

ExpiresByType video/webm                "access plus 1 month"

Разные параметры ExpiresByType можно установить для любого контента, перечисленного в применяемом вами инструменте исполнения, или чего угодно, где нужно управлять кэшированием. Первый указатель, ExpiresActive on, просто гарантирует, что генерация Expires headers включена. Эти указатели зависят от Apache, загружающего модуль mod_expires.

Включаем сжатие

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

FilterDeclare COMPRESS FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html FilterProvider COMPRESS DEFLATE resp=Content-Type $text/css FilterProvider COMPRESS DEFLATE resp=Content-Type $text/javascript FilterChain COMPRESS FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no

FilterDeclare   COMPRESS

FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/html

FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/css

FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/javascript

FilterChain     COMPRESS

FilterProtocol  COMPRESS  DEFLATE change=yes;byteranges=no

Эта схема сжатия работает на новых версиях Apache (2.1+), применяющих модуль mod_filter. Он использует алгоритм DEFLATE для сжатия контента в зависимости от его типа, и в этом случае мы определяем text/html, text/css и text/javascript (которые, скорее всего, окажутся видами файлов, помеченных в PageSpeed/Yslow).

применить, используя параметр FilterDeclare – в данном случае COMPRESS. Затем перечисляем виды контента, для которого нам нужно использовать этот фильтр. Указатель FilterChain отдает команду серверу выстроить цепь фильтров на основе перечисленных нами параметров FilterProvider. Параметр FilterProtocol дает возможность определять опции, примененные к последовательности фильтров, всякий раз, когда она запускается; опции, которые нам следует использовать – это change=yes (контент может быть изменён фильтром (в данном случае – сжат) и byteranges=no (фильтр должен применяться только к определённым файлам).

В более старых версиях Apache модуль mod_deflate используется для конфигурирования сжатия DEFLATE. В этом случае у нас меньше контроля над тем, как фильтруется контент, а указатели проще:

SetOutputFilter DEFLATE AddOutputFilterByType DEFLATE text/html text/css text/javascript

SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATE text/html text/css text/javascript

Здесь мы всего лишь устанавливаем алгоритм сжатия с помощью указателя SetOutputFilter, а затем определяем виды контента, который нужно сжать, используя параметр AddOutputFilterByType.

Обычно веб-сервер применяет один из этих модулей в зависимости от того, какая версия Apache используется. Обычно вы знаете это заранее, но если создаётся универсальный файл .htaccess, который можно использовать на многих сайтах, или которым можно поделиться с другими людьми, и потому неизвестно, какие модули применить, то вы можете использовать оба вышеприведенных программных блока, обёрнутых в указатели IfModule module_name для того, чтобы использовался подходящий модуль и сервер не выдавал по 500 ошибок, если мы станем вдруг конфигурировать модуль, невнесенный в список. Вам нужно знать, что для хостов, работающих с большим количеством сайтов с единственного блока, сжатие отключают, поскольку при сжатии на сервере происходит небольшая потеря производительности CPU.

Заключение урока по настройке файла htaccess

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

На этом, урок по настройке файла htaccess, окончен надеюсь вам всё понравилось.

Автор: Dan Wellman

Источник: //net.tutsplus.com/

Редакция: Команда webformyself.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

Смотреть

Зачем нужен файл htaccess, где он находится и за что отвечает

Доброго времени суток, дорогие читатели!

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

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

Что такое htaccess

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

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

Htaccess – это обычный конфигурационный файл, где содержатся настройки определенного типа. Обычно там размещают информацию о редиректах (например, переадресацию на защищенный протокол https), параметры сервера и компонентов, которые на нем установлены и т. д.

Также с помощью него вы сможете настраивать доступ к файлам сайта, изменять параметры перенаправлений на страницу 404 (когда на ресурсе нет какого-то документа, он должен отдавать страницу с ошибкой 404, где будет указана эта информация), блокировать определенные IP-адреса и т. д.

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

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

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

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

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

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

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

  1. Настраивать редиректы (переадресацию) на различные адреса вашего ресурса. Пользователь будет заходить по одному какому-то адресу, его будет переадресовывать на другой. Полезно, когда у документа (статьи или страницы) сменился URL, и вы не хотите, чтобы пользователи получали ошибку 404 при обращении на этот адрес.
  2. Настраивать редиректы на другие домены. Это может понадобиться в случае, если вы хотите перенести свой ресурс на другой домен, но при этом не хотите терять существующую аудиторию, которая попытается перейти на сайт по старому домену. Через htaccess вы сможете настроить простую переадресацию, которая будет переводить пользователей на нужный вам новый домен.
  3. Сделать переадресацию на домен с www или без него. По умолчанию многие проекты доступны по нескольким вариантам одного домена. Например, условный site.ru можно открыть как просто , так и . Это порождает лишние дубли и очень негативно влияет на поисковое продвижение. С помощью конфига вы сможете настроить переадресацию на основной вариант.
  4. Сделать редирект на https. После установки SSL-сертификата ваш ресурс будет доступен уже по четырем разным вариантам адреса. К предыдущему пункту прибавится еще версия с https-протоколом. Htaccess поможет вам сделать основной только одну версию. То есть сделать редирект сразу же на нужный вариант адреса с нужным протоколом.
  5. Настроить кэширование файлов вашего ресурса. Этот шаг необходим для ускорения работы вашего проекта. С помощью данного конфигурационного конфига вы сможете сделать кэширование. Тогда вся информация с сайта будет сжиматься до оптимальных размеров и подаваться пользователям в упрощенном виде. Им не придется всегда заново нагружать ваш сервер и скачивать все файлы. Кэширование очень важно для SEO, потому что оно помогает ускорить ресурс. Также кэширование помогает снизить нагрузку на хостинг.
  6. Сделать ЧПУ-ссылки. Обычно все файлы ресурса имеют ссылки, которые не так-то просто запомнить. Это могут быть какие-то последовательности из символов или что-то другое. С помощью htaccess вы сможете сделать понятные человеку варианты ссылок, которые будут состоять из слов на латинице. В WordPress для создания ЧПУ вам достаточно просто активировать нужный параметр в настройках, в самописных же сайтах придется делать это самостоятельно через этот самый файлик.
  7. Блокировать доступ с определенных IP-адресов. Очень часто на сайты нападают разного рода злоумышленники, которые спамят флудом, пытаются вывести этим хостинг проекта из строя или просто активируют большое количество ботов, которые отправляют различный рандомный текст в комментарии к записям или в формы сбора заявок. Используя определенные команды, которые будут заноситься в этот конфиг, вы сможете блокировать IP-адреса спамеров, и они больше не смогут заходить на сайт. Также вы сможете настроить закрытый ресурс, который будет доступен только определенным IP-адресам. То есть это такие своеобразные белые и черные списки.
  8. Регулировать поведение поисковых роботов на сайте. Обычно параметры для поисковиков настраиваются через robots.txt, но в htaccess вы также можете указать несколько настроек, которые помогут вам управлять поведением роботов поисковых систем.
  9. Настраивать доступ к определенным файлам и папкам. Вы можете устанавливать пароли на определенные директории и файлы. Это поможет вам установить контроль посещаемости и делать документы видимыми только для ограниченного количества людей. Подобные функции помогают вам защитить свой проект от атак хакеров и повысить уровень безопасности.
  10. Устанавливать более тонкие настройки сервера. С помощью конфигурации вы сможете устанавливать настройки сервера. Например, если у сервера есть какие-то лимиты на загрузку конфигов, с помощью htaccess вы сможете изменить их. Также вы сможете менять и другие параметры сервера, используя для этого различные команды.

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

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

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

Помещаем документ в корень, и он действует на весь проект (все папки и их содержимое), помещаем куда-то внутрь, и будет работать только с теми папками и файлами, которые расположены с ним на одном уровне или ниже.

Где расположен htaccess

Обычное дефолтное расположение этого документа – корень сайта. Каких-то примеров локального использования конфига только для определенных папок внутри сайта я не видел. Чтобы обнаружить этот документ, вам достаточно зайти в файловый менеджер вашего хостинга или же воспользоваться FTP-клиентом.

Htaccess будет расположен прямо в корне (/public_html, если это виртуальный хостинг). Его можно будет открыть с помощью любого текстового редактора.

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

Также вы можете просто скачать его и открыть при помощи любого редактора на вашем компьютере.

Но если вы хотите изменить этот файл на WordPress, то вам совсем не обязательно заходить на хостинг и открывать его там. Достаточно будет просто зайти в настройки плагина Yoast SEO, перейти во вкладку “Инструменты”. Содержимое конфига будет доступно прямо там, в специальном окне. Вы сможете легко его менять, и все изменения будут автоматически заноситься в настоящий конфиг.

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

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

Его можно сделать при помощи встроенных инструментов (в том же файловом менеджере, например) либо же создать конфиг на своем компьютере и уже после загрузить на хостинг при помощи инструментов или FTP-клиента.

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

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

Создаем htaccess на компьютере

Для создания такого документа вы можете использовать любой текстовой редактор, который установлен на вашем ПК. Можно воспользоваться даже простым Блокнотом, который установлен в качестве стандартного софта на Windows.

Кликните правой кнопкой мыши на свободном месте рабочего стола, после чего выберите “Создать” – “Текстовый документ”. На рабочем столе появится файлик с названием “Новый текстовой документ”. Откройте его, но ничего не вводите.

Далее, просто наведите курсор в левый верхний угол, найдите там пункты меню “Файл” – “Сохранить как”. Откроется окно сохранения, где будет необходимо выбрать папку для сохранения (можно сохранить прямо на рабочий стол), ввести название и выбрать тип файла.

В поле “Имя файла” вводим “.htaccess”. В раскрывающемся меню “Тип файла” выбираем “Все файлы”. Далее, жмем на кнопку сохранить. Все, документ создан.

Обратите внимание, что он не должен иметь расширение. То есть не должно быть, например, “.htaccess.txt”.

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

Примеры команд

Теперь я расскажу о наиболее популярных примерах использования команд у этого конфига. Они могут использоваться как для HTML-сайта, так и для проекта на платформе. Каждая команда может сломать ваш проект, поэтому будьте максимально аккуратны при настройке.

Переадресация

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

Redirect 301 /старый_адрес.html http://www.site.ru/новый_адрес.html

Вы можете менять значения, которые выделены жирным. Например, вместо 301-го редиректа вы можете использовать другой. Всего есть 4 различных значения.

  1. 301 – документ перемещен навсегда.
  2. 302 – документ перемещен временно.
  3. 303 – смотрите другие документы ресурса.
  4. 410 – документ был безвозвратно удален.

Mod_rewrite – настройка сложных редиректов

Это специальный модуль, который позволяет настраивать переадресацию на какой-то конкретный протокол или домен определенного вида (с www или без него, к примеру). Данный модуль работает только на серверах Apache, поэтому далеко не каждый хостинг будет это поддерживать.

  • Основное зеркало.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]

RewriteRule ^( *)$ _/$1 [R=301,L]

Вместо site.ru должен быть ваш домен. Если вы введете это в конфигурационный документ, ваш сайт будет перенаправлять пользователей с www на обычную версию ресурса. Допустим, человек попытается перейти на www.site.ru/stat1, его сразу же перекинет на site.ru/stat1. Вот так это и работает.

  • Редирект на https.

Если вы установили SSL-сертификат и хотите, чтобы все страницы проекта открывались через защищенное соединение, вам необходимо просто прописать эти строчки.

RewriteEngine On

RewriteCond %(HTTPS) !on

RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URL)

Менять в этом коде ничего не нужно, все будет работать именно в таком виде.

  • Редирект на другой домен.

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

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.site.ru\.ru$ [NC]

RewriteRule ^(.*)$ /$1 [R=301,L]

Вы можете изменить название сайта, добавив или убрав определенные варианты. Например, вы можете настроить редирект сразу на сайт с https. Также вы можете изменить домен на вариант без www.

  • Запрет индексирования для определенного поискового робота.

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

RewriteEngine on

RewriteCond %{USER_AGENT} Googlebot

RewriteRule .* — [F]

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

Заключение

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

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

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

.htaccess - как установить файл htaccess?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.Учебное пособие по

Apache HTTP Server: файлы .htaccess

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

См. Также

Вам следует избегать использования файлов .htaccess полностью, если у вас есть доступ к Файл конфигурации главного сервера httpd. Использование файлов .htaccess замедляет работу вашего http-сервера Apache. Любую директиву, которую вы можете включить в файл .htaccess , лучше установить в блоке Directory , так как это будет иметь тот же эффект с лучшей производительностью.

.htaccess файлов (или «файлы распределенной конфигурации») предоставляют возможность вносить изменения в конфигурацию для отдельных каталогов. А файл, содержащий одну или несколько директив конфигурации, помещается в конкретный каталог документов, и директивы применяются к этому каталог и все его подкаталоги.

Примечание:

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

 AccessFileName ".config" 

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

Например, если вы посмотрите документацию для AddDefaultCharset директиве, вы обнаружите, что это разрешено в .htaccess файлы. (См. Строку Context в сводке директивы.) Строка Override гласит FileInfo . Таким образом, у вас должно быть не менее AllowOverride FileInfo , чтобы эта директива была почитается в файлах .htaccess .

Если вы не уверены, разрешена ли конкретная директива в .htaccess , посмотрите документацию для этого директиву и проверьте строку контекста на наличие ".htaccess".

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

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

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

Есть две основные причины избегать использования .htaccess файлов.

Первое из них - производительность. Когда AllowOverride настроен на использование .htaccess файлов, httpd будет поищите в каждом каталоге файлов .htaccess . Таким образом, разрешение файлов .htaccess приводит к снижению производительности, независимо от того, используете ли вы их на самом деле! Так же .htaccess файл загружается каждый раз, когда документ просил.

Также обратите внимание, что httpd должен искать файлов .htaccess во всех каталогах более высокого уровня, чтобы иметь полный набор директивы, которые он должен применять.(См. Раздел о том, как директивы.) Таким образом, если файл запрашивается из каталог / www / htdocs / example , httpd должен искать следующие файлы:

/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess

Итак, для каждого доступа к файлу из этого каталога есть 4 дополнительные обращения к файловой системе, даже если ни один из этих файлов не подарок. (Обратите внимание, что это будет только в том случае, если .htaccess файлов были включены для /, что обычно бывает не так.)

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

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

Обратите внимание, что это полностью эквивалентно помещению .htaccess файл в каталоге / www / htdocs / example , содержащий директиву, и поместить ту же директиву в раздел каталога на вашем основном сервере конфигурация:

.htaccess в / www / htdocs / пример :

Содержимое файла .htaccess в / www / htdocs / example

 AddType text / example ".exm" 

Раздел из вашего httpd.conf файл

 <Каталог "/ www / htdocs / example"> AddType текст / пример ".exm"  

Однако, поместив эту конфигурацию в конфигурацию вашего сервера файл приведет к меньшему снижению производительности, поскольку конфигурация загружается один раз при запуске httpd, а не каждый раз, когда файл просил.

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

 AllowOverride Нет 

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

Пример:

В каталоге / www / htdocs / example1 у нас есть .htaccess , содержащий следующее:

 Опции + ExecCGI 

(Примечание: у вас должны быть действующие " AllowOverride Options " чтобы разрешить использование директивы « Опции » в .htaccess файла.)

В каталоге / www / htdocs / example1 / example2 имеем файл .htaccess , содержащий:

 Опции Включает 

Из-за этого второй файл .htaccess в каталоге / www / htdocs / example1 / example2 , выполнение CGI не выполняется разрешено, так как действует только опций, включая , что полностью отменяет любые предыдущие настройки, которые могли быть место.

Слияние .htaccess с основным файлы конфигурации

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

 <Каталог "/ www / htdocs"> AllowOverride All  <Местоположение "/"> Параметры + Включает NoExec -ExecCGI  

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

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

.htaccess содержимое файла:

 AuthType Basic AuthName «Требуется пароль» AuthUserFile "/www/passwords/password.file" AuthGroupFile "/www/passwords/group.file" Требовать администраторов группы 

Обратите внимание, что AllowOverride AuthConfig должен действовать. чтобы эти директивы имели какой-либо эффект.

См. Руководство по аутентификации для более полное обсуждение аутентификации и авторизации.

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

 Опции + Включает AddType text / html shtml Обработанный сервером shtml 
AddHandler

Обратите внимание, что Параметры AllowOverride и AllowOverride FileInfo должны действовать, чтобы эти директивы имели эффект.(. +) \. jpg "" $ 1.png "

В .htaccess в каталоге документов ведущая косая черта удаляется из значения, предоставленного в RewriteRule , а в images Подкаталог , / images / удален из Это. Таким образом, ваше регулярное выражение должно опускать эту часть как Что ж.

Обратитесь к документации mod_rewrite для подробнее об использовании mod_rewrite .

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

 Опции + ExecCGI AddHandler cgi-скрипт cgi pl 

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

 Опции + ExecCGI SetHandler cgi-скрипт 

Обратите внимание, что Параметры AllowOverride и AllowOverride FileInfo должны действовать, чтобы эти директивы имели эффект.

Пожалуйста, см. Учебник CGI для получения дополнительных полное обсуждение программирования и настройки CGI.

Когда вы помещаете директивы конфигурации в файл .htaccess файла, и вы не получите желаемого эффекта, существует ряд вещи, которые могут пойти не так.

Чаще всего проблема в том, что AllowOverride не установите так, чтобы ваши директивы конфигурации соблюдались. Сделать убедитесь, что у вас нет действующего AllowOverride None для рассматриваемой области файла.Хорошая проверка - положить мусор в вашем файле .htaccess и перезагрузите страницу. Если ошибка сервера не сгенерирован, то у вас почти наверняка есть AllowOverride Не действует .

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

[Пт, 17 сен, 18:43:16 2010] [предупреждение] [клиент 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex здесь не допускается

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

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

[Сб, 9 августа, 16:22:34 2008] [предупреждение] [клиент 192.168.200.51] /var/www/html/.htaccess: RewriteCond: неверные разделители флагов

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

.

php - Как настроить файл .htaccess в подкаталогах? (Не удается отправить форму)

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

php - .htaccess: как работают несколько файлов .htaccess?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании
.

htaccess | WordPress.org

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

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

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

 # НАЧАТЬ WordPress RewriteEngine On RewriteBase / RewriteRule ^ index \.- [L] RewriteRule. index.php [L] # КОНЕЦ WordPress 

Наверх ↑

Наверх ↑

Опции № Опции

Любые параметры, которым предшествует + , добавляются к действующим в настоящее время параметрам, а любые параметры, которым предшествует - , удаляются из действующих в настоящее время параметров.

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

Нет

Все опции выключены.

Все

Все опции, кроме MultiView.Это значение по умолчанию.

ExecCGI

Разрешено выполнение сценариев CGI с использованием mod_cgi.

FollowSymLinks

Сервер будет переходить по символическим ссылкам в этом каталоге.

Включает

Разрешены включения на стороне сервера, предоставляемые mod_include.

Включает NOEXEC

Включения на стороне сервера разрешены, но #exec cmd и #exec cgi отключены.

Индексы

URL соответствует каталогу, а не DirectoryIndex - форматированному списку каталога.

Мультипросмотр

Согласованное содержимое «MultiViews» разрешено с использованием mod_negotiation.

SymLinksIfOwnerMatch

Переходите только по символическим ссылкам, если цель принадлежит тому же идентификатору пользователя, что и ссылка.

Это отключит все параметры, а затем включит только FollowSymLinks, что необходимо для mod_rewrite.

 Опции Нет Параметры FollowSymLinks 

Наверх ↑

DirectoryIndex # DirectoryIndex

DirectoryIndex устанавливает файл, который Apache будет обслуживать при запросе каталога.

Можно указать несколько URL-адресов, и в этом случае сервер вернет первый найденный.

 DirectoryIndex index.php index.html /index.php 

Наверх ↑

DefaultLanguage # DefaultLanguage

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

 DefaultLanguage ru 

Наверх ↑

Кодировка по умолчанию # Кодировка по умолчанию

Установите кодировку символов по умолчанию, отправляемую в заголовке HTTP. См .: Установка информации о кодировке в .htaccess

 AddDefaultCharset UTF-8 

Установить кодировку для определенных файлов

 AddType 'text / html; charset = UTF-8 '.html 

Набор для конкретных файлов

 AddCharset UTF-8 .html 

Наверх ↑

ServerSignature # ServerSignature

Директива ServerSignature позволяет конфигурировать завершающую строку нижнего колонтитула в документах, созданных сервером.При желании добавьте строку, содержащую версию сервера и имя виртуального хоста, на страницы, созданные сервером (документы внутренних ошибок, списки каталогов FTP, вывод mod_status и mod_info и т. Д., Но не документы, созданные CGI или пользовательские документы ошибок).

по

добавляет строку с номером версии сервера и ServerName обслуживающего виртуального хоста

Off

подавляет строку нижнего колонтитула

Электронная почта

создает ссылку mailto: на ServerAdmin указанного документа

.
 SetEnv SERVER_ADMIN admin @ site.com Сервер Подпись Электронная почта 

Наверх ↑

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

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

 Приложение AddType / поток октетов .avi .mpg .mov .pdf .xls .mp4 

Наверх ↑

Сжатие HTTP # Сжатие HTTP

Директива AddOutputFilter сопоставляет расширение расширения имени файла с фильтрами, которые будут обрабатывать ответы с сервера перед их отправкой клиенту.Mozilla / 4 \ .0 [678] no-gzip BrowserMatch \ bMSIE! No-gzip! Gzip-only-text / html

Принудительное сжатие для определенных файлов

 SetOutputFilter DEFLATE 

Наверх ↑

Директива Header позволяет отправлять заголовки HTTP для каждого запроса или только для определенных файлов. Вы можете просматривать HTTP-заголовки сайтов с помощью Firebug, Chrome Dev Tools, Wireshark или онлайн-инструмента.

 Заголовочный набор X-Pingback "http://www.askapache.com/xmlrpc.php" Набор заголовков Content-Language "en-US" 

Наверх ↑

Это отключит заголовки HTTP, всегда используя . будет очень стараться удалить их.

 Заголовок не установлен Pragma Заголовок всегда отключен WP-Super-Cache Заголовок всегда отключен X-Pingback 

Наверх ↑

Защита паролем логина # Защита паролем логина

Это очень полезно для защиты файла wp-login.php . Вы можете использовать этот генератор htpasswd.

Базовая аутентификация

 AuthType Basic AuthName "Защищено паролем" AuthUserFile /full/path/to/.htpasswd Требовать действительного пользователя Удовлетворить все 

Дайджест-аутентификация

 Дайджест AuthType AuthName "Защищено паролем" AuthDigestDomain / wp-login.php https://www.askapache.com/wp-login.php AuthUserFile /full/path/to/.htpasswd Требовать действительного пользователя Удовлетворить все 

Наверх ↑

Требуется особый IP # Требуется особый IP

Это способ разрешить доступ только определенным IP-адресам.

 ErrorDocument 401 по умолчанию ErrorDocument 403 по умолчанию Заказать отказать, разрешить Запретить всем Разрешить от 198.101.159.98 localhost 

Наверх ↑

Защита конфиденциальных файлов # Защита конфиденциальных файлов

Это запрещает любой веб-доступ к вашему файлу wp-config, error_logs, php.ini и htaccess / htpasswds.

 Заказать отклонить, разрешить Запретить всем 

Наверх ↑

Требовать SSL # Требовать SSL

Это приведет к принудительному использованию SSL и потребует точного имени хоста, иначе будет выполнено перенаправление на версию SSL. Полезно в файле /wp-admin/.htaccess .

 SSLOptions + StrictRequire SSLRequireSSL SSLRequire% {HTTP_HOST} eq "www.wordpress.com" ErrorDocument 403 https://www.wordpress.com 

Наверх ↑

Наверх ↑

.

html - Как настроить .htaccess для перенаправления HTTP на эквивалент HTTPS?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд
.

Смотрите также