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

Что такое htaccess

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

Определение что такое htaccess

.htaccess (/’eɪtʃtiːæk.sɛs/ от англ. hypertext access) — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д., без изменения главного конфигурационного файла.

Где находится файл htaccess


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

Самый простой пример использования htaccess

Показать самый простой пример использования файла htaccess — чтобы далеко не ходить, используем две версии нашего сайта — 1. новая главная http://dwweb.ru и новая версия всего сайта и 2. старая главная http://dwweb.ru/index_2.html и старые страницы.

Для обоих версий выполняются правила

1. AddHandler fcgid-script .php .html .htm

Эта строка — SSI (Server Side Includes — включения на стороне сервера) — позволяющий включить в страницу информацию, недоступную средствами HTML, такую как вывод программ например PHP.

А по русски!?

Все файлы, которые вы открываете на нашем сайте имеют расширение «.html» — это не виртуальное расширение, а физическое, т.е. эта информация хранится в реальных файлах! Но если вы поместите любой код php в данный файл, то он выведется в виде простого текста и никак не выполнится! Для изменения этого и нужна данная строка… Как нибудь и об этом мы напишем, когда дойдем…


2.Может быть верхний пример довольно сложен для понимания, есть ли вариант попроще!?

Опять обратимся к нашему сайту. Если вы обратите внимание, что все новые страницы имеют общую папку «page» и все файлы, и как бы странно это не звучало, но такой папки — физически не существует…

Как в кино — видишь ложку!? Нет!? — А она существует!

RewriteRule ^page(.*) index.html [L]

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

Как сделать файл htaccess

Самое простое, как можно создать файл htaccess – это  — заходим в ту папку. В которой нам нужно, чтобы находился файл htaccess – нажимаем ПКМ  — создать – текстовый документ.

Всё о файле htaccess

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

Всё о файле htaccess

Хм… только я хотел его переименовать, а он мне выдает:


Всё о файле htaccess

Да… в windows 7 это проходило без проблем…

Ну, что же, мы пойдем другим путем!

Если у вас  получилось так же, то  делаем далее:

Вариант №2.

Открываем созданный файл в блокноте, либо просто открываем текстовый блокнот и в нём указываем  сохранение нашего файла htaccess в нужную директорию.

Имя файла — .htaccess

Тип файла – все файлы.

Кодировку выбираем — utf-8

Сохранить.

Всё о файле htaccess

Всё – наш файл  .htaccess – создан.

Всё о файле htaccess

Где находится файл htaccess?

Он может находится где угодно в зависимости от необходимости, но  если вам нужно, чтобы  файл отвечал за все настройки сайта, то он должен находится в той же директории, что и файл  index.html, ну или index.php.

Итого — вывод :

Можно ли прожить без знаний о файле htaccess — конечно!

Но когда вы узнаете его возможности, то я вам гарантирую, что вы скажите — как я вообще мог жить без этого!

P.S.

Расскажу вам историю из своей жизни!

Когда-то я категорически бы против компьютера и всеми четырьмя отбрыкивался, до тех пор, пока сама жизнь не заставила сделать выбор!

И когда я узнал о возможностях, которые предоставляет PC, то стал реальным адептом!

И уж никогда не думал, что буду вам вот здесь, на своем собственном сайте, писать о файле htaccess
Как создать файл htaccess и какие кайфы он вам может дать…

dwweb.ru

И почему этот .htaccess такой особенный?

Профессиональные веб-разработчики отдают предпочтение использованию именно этого файла для настройки основных параметров веб-сервисов. Почему? Да потому что это мощный инструмент для установки дополнительной конфигурации на различных серверах (Denwer, Apache и других).

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

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


Текстовые редакторы

Пускай это и тривиально, но все-таки для предотвращения возможных вопросов я хочу добавить, что .htaccess отлично функционирует в любой операционной системе. Вы можете создать конфигурационный файл через любой текстовый редактор на своем компьютере. Например, в Windows это «Блокнот», в Mac OS это «TextEdit», в Ubuntu – «Gedit» и т.д.

Каким образом можно создать чудо-файл конфигураций

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

  1. Откройте любой редактор текстового контента (некоторые из них я ранее перечислил);
  2. После открытия пустого файла в меню выберете пункт «Сохранить как…»;
  3. В первую очередь поменяйте расширение файла. Оно не должно быть .txt. Если это стандартная программа Windows, то нужно из выпадающего списка выбрать пункт «Все файлы»;Сохраняем файл

  4. В наименовании документа напишите .htaccess, сохраняя точку перед словом;
  5. Обратите внимание на кодировку. Она обязательно должна быть ANSI;
  6. В ОС компаний Micosoft и Apple необходимо проверить еще один параметр – перенос слов. В данном документе с настройками есть команды, которые должны быть написаны строго в одну строку. Поэтому снимите галочку с данного пункта и нажмите «Сохранить».

Важные команды

Вот мы и подошли к самому интересному! Первоочередным правилом, которое стоит прописать, это кодировка. Для этого существует вот такая строка:

AddDefaultCharset UTF-8

Если необходимо указать другой вариант кодировки, то ее название вставьте вместо UTF-8.

Еще одна супер-команда – это редирект. Благодаря .htaccess можно легко и быстро установить redirect 301, который позволяет перенаправлять пользователей на другие ссылки, склеивать доменные имена независимо от того есть www или нет.

Так следующие строки кода направят юзеров на сайт coolWeb.com вне зависимости от того есть ли www или нет, а также указана ли в ссылке стартовая страница (coolWeb.com/index.html) или нет.

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

После выполнения данных правил вместо изображений на чужих сайтах будет отображаться сообщение об ошибке (403).

Подведение итогов


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

Для упрощения жизни девелоперам были созданы онлайн-генераторы кода для таких конфигурационных документов. В качестве примера можете ознакомиться с сайтом http://htaccess.ru/generator/. Сгенерированными правилами можно оперировать и для настройки сайтов, написанных на движках. Таким образом, их можно использовать для WordPress, OpenCard, Joomla! и других.

Надеюсь, вам понравился изложенный мною материал. Жду от вас заявок на подписку. Обязательно делитесь ссылкой на мой блог с друзьями. Пока-пока!

С уважением, Роман Чуешов

romanchueshov.ru

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

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

  • Настраивать директивы простого перенаправления (редиректы). Это позволит после смены домена отправить посетителя со страницы предыдущего сайта на новый проект.
  • Переадресовывать с URL, где есть www, на домен без www. Или же на https после того, как установите ssl сертификат.

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

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

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

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

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


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

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

Расположение htaccess на сервере


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

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

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

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

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

Далее перепроверьте, создан ли документ правильно. Обязательно посмотрите, не сохранили ли вы его как .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>

Заключение

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

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

webmasterie.ru

СОЗДАНИЕ ПРАВИЛЬНОГО ФАЙЛА HTACCESS

Правильный файл .htaccess

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

Первое дело, которое Вы должны сделать – открыть блокнот.

(Рекомендую скачать и установить блокнот notepad ++, скачать можете здесь).

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

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

Сразу сохраним документ и дадим ему название htaccess. Теперь закидывайте его в корень Вашего блога.

ПОЕХАЛИ К ПРАВИЛЬНОМУ ФАЙЛУ HTACCESS

  1. Это установки по умолчанию главной страницы (DirectoryIndex pagename.html)
  2. Страницы ошибок (error)
ErrorDocument 403 /403.phpErrorDocument 404 /404.phpErrorDocument 500 /500.php

Название, то есть адрес страницы может выглядеть иначе, например, / error/page404.html.

ЗАЩИЩАЕМ БЛОГ ОТ ХОТЛИНКА ПРАВИЛЬНЫМ ФАЙЛОМ HTACCESS

Правильным файлом .htaccess или запрет на копирование

Что такое хотлинг – расскажу на примере: например, Вы написали статью и вставили в нее картинки, не секрет, что статьи постоянно воруют, обычно это делают подростки, чтобы якобы время не терять (если статьи на сайте или блоге не уникальны, то в скором будущем его ждет попадание под фильтр поисковых систем — АГС).

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

RewriteEngine on RewriteCond %{ HTTP_REFERER}! ^$ RewriteCond %{ HTTP_REFERER}! ^http ://( www.)?Vash_site.com/.*$ [NC] RewriteRule . (gif|jpg|js|css)$ - [F]

Vash_site.com — поменяйте на свой сайт.

Теперь в место Вашей картинки на чужом сайте будет на ее месте надпись – 403 ошибка. Можно сделать так, чтобы вместо ошибки 403 была специальная картинка, для этого замените последние две строки таким кодом:

RewriteRule . (jpg|png|gif)$ [NC, R, L]
В ПРАВИЛЬНОМ ФАЙЛЕ HTACCESS ЗАСТАВЛЯЕМ СОХРАНЯТЬ ФАЙЛЫ ВМЕСТО ИХ ОТКРЫТИЯ

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

Бывает так, посетитель заходит к Вам на сайт и смотрит файлы онлайн, так вот если хотите, чтобы посетитель сохранял файл, то пишите в htaccess такое:

AddType application/octet-stream .doc .mov .avi .pdf .xls .mp4
КЭШ ФАЙЛОВ БЛОГА

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

#кэширование html и htm на сутки<FilesMatch ". (html|htm)$">Header set Cache-Control "max-age=43200"</FilesMatch>#кэширование css, javascript и txt-файлов на неделю<FilesMatch ". (js|css|txt)$">Header set Cache-Control "max-age=604800"</FilesMatch>#кэширование flash и картинок на месяц<FilesMatch ". (flv|swf|ico|gif|jpg|jpeg|png)$">Header set Cache-Control "max-age=2592000"</FilesMatch>#запрет на кэширование скриптов<FilesMatch ". (pl|php|cgi|spl|scgi|fcgi)$">Header unset Cache-Control</FilesMatch>

Внимание: параметр max-age показывает секунды.

Следующий код включает на блоге ошибки на время отладки:

php_flag display_errors on

Удаляем ошибки сервера в правильном файле .htaccess

Настраиваем редирект, добавив код в файл htaccess. Настройка первого редиректа – 301:

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

Redirect 301 /oldpage.html https:// mysite.com/newpage.html

Либо вот так:

Redirect permanent /oldpage.html

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

Расклеиваем домены с www и, наоборот, без:

Редирект с mysite.com на www.mysite.com:

RewriteEngine OnRewriteBase /RewriteCond %{ HTTP_HOST}! ^www.yoursitename.ru$ [NC]RewriteRule ^ (.*) $ https://www.yoursitename.ru/$1 [L, R=301]

Теперь наоборот:

RewriteEngine on RewriteBase / RewriteCond %{ HTTP_HOST}! ^yoursitename.ru$ [NC] RewriteRule ^ (.*) $ https://yoursitename.ru/$1 [L, R=301]

В ПРАВИЛЬНЫХ ФАЙЛАХ HTACCESS СТОИТ ВТОРОЙ НА ОЧЕРЕДИ РЕДИРЕКТ – 302

Правильные файлы .htaccess ответ сервера 302

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

RewriteEngine onRewriteCond %{ REQUEST_URI}! /informpage.html$RewriteCond %{ REMOTE_HOST}!^12.345.678.90RewriteRule $ https://mysite.com/informpage.html [R=302, L]

Вместо 12.345.678.90 поставьте свой IP адрес, узнать его можете, задав этот вопрос в любой поисковой системе или здесь (хостинг Украина, если конечно Вы создавали там аккаунт вместе со мной).

КАК ПЕРЕАДРЕСОВЫВАТЬ ПОСЕТИТЕЛЕЙ НА ДРУГОЙ АДРЕС САЙТА ИЛИ БЛОГА

Редирект на сайт

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

ErrorDocument 403 https://www.mysite.comOrder deny, allowDeny from allAllow from 12.345.678.90Allow from 12.345.678.92

Последние две строки это IP адреса, с которых перенаправление работать не будет.

Можно переадресовать на https соединение, оно является безопасным:

RewriteEngine OnRewriteCond %{HTTPS}! onRewriteRule (. *) https://%{HTTP_HOST} %{REQUEST_URI}
СТАВИМ ЗАПРЕТ ИЛИ БЛОКИРОВКУ

Ставим запрет на листинг наших директорий:

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

Options All -Indexes Options + Indexes

Этим кодом мы с Вами запрещаем доступ к файлу.

Запретить можно любой файл, например – правильный файл htaccess, вот таким образом:

<Files .htaccess>Order allow, denydeny from all</Files>

Блокируем по IP адресу, для того чтобы спамеры не жили у Вас на блоге.

<Limit GET>Order Deny, AllowDeny from 12.345.678.90Deny from 90.876.543.Deny from .tvoe.tvAllow from all</Limit>

С помощью кода выше будут блокированы следующие IP адреса:

IP адрес с 12.345.678.90;

Будут блокированы абсолютно все посетители, которые попадают под IP от 90.876.543.0 до 90.876.543.255;

Также все посетители от tvoe.tv провайдера.

НАСТРАИВАЕМ ЧПУ С ПОМОЩЬЮ ПРАВИЛЬНОГО ФАЙЛА

Правильные ссылки .htaccess

Если Вы уважаемый посетитель блога «новая система обучения» проходите курс «обучение онлайн», то Вы вместе со мной должны были создать блог на движке wordpress и настройку «постоянные ссылки ЧПУ» мы проходили в настройке блога wordpress.

Остальные посетители тоже могут зайти и почитать о настройке блога wordpress, о «постоянных ссылках ЧПУ» написано в конце статьи.

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

УБИРАЕМ ИЗ АДРЕСНОЙ СТРОКИ? P=

По умолчанию адрес страниц выглядит вот так: Vash_site.com/? p=xxxx, где xxxx – id статьи. Чтобы сделать человеко-понятный адрес вставьте следующий код в htaccess:

RewriteCond %{ REQUEST_URI} ^/ ([0-9] +) $RewriteRule.* https://yoursitename.ru/?p=%1 [R=301, L]

Как убрать из адресной строки category.  Пишем такой код:

RewriteRule ^category/ (. +) $ https://vash_site.com/$1 [R=301, L]

Ну и на завершение «JQuery framework», 100% подходит для тех оптимизаторов, которые начали изучать jQuery.

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

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

www.advdk.com

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

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

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

htaccess настройка

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

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

htaccess

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

Просто поместите этот код в файл 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:

Block IPs with .htaccess

## 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

файл htaccess

Перепись динамического 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

astra.red

Не отображается файл .htacess

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

Как изменить файл .htaccess?

В первую очередь, перед тем как начать редактировать этот файл — сделайте его резервную копию. Если что-то сделано не так, вы легко сможете восстановить работу сайта. Редактировать файл можно любым текстовом редакторов. Например, Notepad++, Sublime или редактор в панели хостинга.

Что нужно знать при редактировании файла хтаццесс?

Как было сказано выше — действие файла распространяется на текущую директорию и все внутренние поддиректории. Кроме того:

  • Если правило начинается на символ «#», то это называется комментарием и веб сервер не будет его обрабатывать.
  • Имеются специальные переменные. Например, %{REMOTE _ ADDR} для определения IP клиента и др.
  • Пути к файлам, к примеру, до htpasswd указываются от корня сервера
  • Адреса документов необходимо указывать с указанием протокола. К примеру, не www.website.ru, а http://website.ru

После редактирования файла появилась ошибка 500 — Internal Server Error

Это означает, что имеется ошибка в файле .htaccess. Возможные причины:

  • Ошибка синтаксиса (опечатки, неверные настройки)
  • Отсутствует тот или иной модуль в веб сервере
  • Старая версия веб сервера/модулей или инструкций файла .htaccess
  • Некоторые директивы запрещены к редактированию

Как устранить эту ошибку: посмотрите в error_log веб сайта. Там обязательно вы увидите указание на ошибку.

htaccess для HTML сайта

Файл .htaccess будет работать как для PHP сайтов, так и для html сайтов. Главное — наличие веб сервера apache, т.к. именно он обрабатывает этот файл.

Установка индексного файла для сайта

Индексный файл — это тот файл, который будет открываться при заходе на сайт или директорию сайта. Как правило, это файл: index.php, index.htm, index.html. Но вы можете поменять его на любой другой. К примеру: myfile.php такой директивой:
DirectoryIndex myfile.php

Вывод ошибок PHP

Если вы хотите включить отображение ошибок PHP, то в файл .htaccess необходимо добавить следующую директиву:
php_value display_errors 1
Таким образом, php будет показывать все ошибки прямо в браузере.

Ошибка 403 — Forbidden при открытии директории сайта

Ошибка 403 Forbidden означает, что доступ запрещен. Если вы видите эту ошибку при открытии директории сайта и вместо этого сообщения хотели увидеть список файлов и директорий, это означает, что отключена специальная директива. Это сделано в целях безопасности, чтобы потенциальные вредители не могли найти файлы, через который можно взломать сайт или просто открыть файлы, доступ к которым вы не разрешали. Чтобы включить показ всех файлов и директорий, напишите следующее:
Options +Indexes

А чтобы включить запрет на отображение файлов в директории, напишите:
Options -Indexes

Кроме того, можно запретить к показу только определенные типы файлов в директории. К примеру, запретим показывать файлы .php и .html:
IndexIgnore *.php *.html

.htaccess кодировка

Поменять кодировку сайта можно через файл .htaccess. К примеру, по умолчанию, веб сервер работает в кодировке UTF-8, а вам нужна кодировка windows-1251. Изменяется это просто:
AddDefaultCharset windows-1251

Таким образом, вы переопределите кодировку в текущий директории и поддиректории.
Так же можно задать кодировку отдельным типам файлам. К примеру, когда основной документ у вас в одной кодировке, а .htm файлы — в другой. Давайте сменим кодировку браузера для .htm файлов на UTF-8:
AddType «text/html; charset=utf-8» .htm

Изменение максимального размера загружаемых файлов в PHP

Вы можете увеличить или уменьшить максимальный размер загружаемого файла через скрипт PHP. К примеру, увеличим размер до 100МБ с помощью двух директив upload_max_filesize и post_max_size:
php_value upload_max_filesize 20M
php_value post_max_size 20M

Обратите внимание, что максимальный размер не может быть больше того значения, которое установлено на сервере. Максимальный размер файла, установленный сервером можно посмотреть через функцию phpinfo().

Время жизни сессии PHP

Через файл .htaccess возможно изменить время жизни сессии PHP. Время жизни задается в секундах. По умолчанию время хранения сессий — 1440 секунд — это 24 минуты.
Давайте увеличим время хранения на 1 неделю. Надо вписать в файл следующие директивы:
php_value session.gc_maxlifetime 604800
php_value session.cookie_lifetime 604800

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

  • Быстрому исчерпанию места на диске
  • Переполнение количества файлов в директории (inodes)
  • К долгому удалению файлов через специальную системную утилиту — garbage collector
  • Увеличению нагрузки на сервере

Включение обработки других файлов интерпретатором PHP
Через наш файл, вы можете указать отдельный список типов файлов, которые будут обрабатываться через php. К примеру, вы хотите включить обработку файлов интерпретатором PHP, которые имеют расширение .phtml. Тогда впишите:
AddType application/x-httpd-php .phtml

Ограничение на использование оперативной памяти в PHP

Для любого скрипта на сервере выдается ограничение на максимальный используемый объем оперативной памяти. Параметр называется memory_limit и его можно посмотреть через phpinfo() или изменить через .htaccess. К примеру, ограничить 256 МБ:
php_value memory_limit 256M

Обращаем внимание, что размер нельзя задать больше, чем разрешено самим сервером.

Основное зеркало сайта через .htaccess

Если у вашего сайта несколько алиасов (зеркал), то для SEO это не очень хорошо, т.к. появляется множество дублей сайта и он перестает быть уникальным. Можно настроить редирект на основной домен вашего сайта, к примеру, на имя website:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^website.ru
RewriteRule ^(.*) http://website.ru/$1 [R=301,L]

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

Включение переадресации для сайта на HTTPS

С недавних пор, Google и другие поисковые системы отдают предпочтение сайта, у которых настроен SSL. И если вы это сделали, то необходимо настроить переадресацию на эту версию, иначе опять возникнут дубли страниц сайта по разным адресам: http и https. Просто впишите следующее в ваш файл:
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

Правильная SEO переадресация с HTTPS

Чтобы исключить дубли сайта и включить переадресацию на https версию сайта, нужно внести следующее. На примере, рассмотрим вариант, когда основной домен — без www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.+) [NC]
RewriteRule ^(.*) https://%1/$1 [R=301,NE,L]

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

Запрет доступа по IP

Через файл .htaccess вы можете запретить доступ к ресурсам сайта или наоборот, разрешить только определенным IP адресам. Можно ограничить как ко всем файлам и директориям, так и к некоторым.
К примеру, запретим доступ всем к текущей директории, поддиректории и файлам:
Order Deny,Allow
Deny from all

А можно заблокировать пользователя, зная его IP адрес 192.168.1.1:
Order Deny,Allow
Deny from 192.168.1.1

Или наоборот, запретить всем, а разрешить только 223.332.111.11:
Order Deny,Allow
Deny from all
Allow from 223.332.111.11

Указание собственных страниц ошибок

Вы можете указать свои страницы для различных ошибок (404,403, 500). Просто указать соответствующий путь до них относительно адреса сайта:
ErrorDocument 403 /error/403error.html
ErrorDocument 404 /error/404error.html
ErrorDocument 500 /error/500error.html

Где /error/название файла — это HTML версия страницы ошибки. Пользователь увидит ее, если возникнет соответствующая ситуация.

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

rigweb.ru


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Adblock
detector