Как создать файл htaccess в обычном блокноте и избавить свой сайт от множества ошибок
Доброго времени суток любителям по изучать что-то новенькое! Сегодняшняя статья обязательно вас заинтересует. Я расскажу, как создать файл .htaccess. Те, кто хоть немного наслышан о данном файле, понимают, насколько важно знать его принципы работы и уметь использовать в качественных веб-приложениях.
Поэтому в публикации вы найдете теоретический материал, узнаете, где и для чего используют .htaccess, разберетесь с некоторыми базовыми командами и возможно после будете использовать в своих программах. А теперь за дело!
И почему этот .htaccess такой особенный?
Профессиональные веб-разработчики отдают предпочтение использованию именно этого файла для настройки основных параметров веб-сервисов. Почему? Да потому что это мощный инструмент для установки дополнительной конфигурации на различных серверах (Denwer, Apache и других).
С его помощью обрабатывают всевозможные ошибки, организовывают редирект (перенаправление на другие сайты по указанным ссылкам), защищают авторские данные, ускоряют время загрузки страниц, управляют загрузками различных скриптов, определяют стартовые страницы для html-сайта и многое другое.
.htaccess с легкостью вносит поправки на сервер на локальном уровне. При этом такие действия могут совершатся даже если у вас нет прав админа выбранного сервера. Все прописанные правила в файле применяются только к каталогам и вложенным подкаталогам проекта. При этом таких документов может быть несколько.
Пускай это и тривиально, но все-таки для предотвращения возможных вопросов я хочу добавить, что .htaccess отлично функционирует в любой операционной системе. Вы можете создать конфигурационный файл через любой текстовый редактор на своем компьютере. Например, в Windows это «Блокнот», в Mac OS это «TextEdit», в Ubuntu – «Gedit» и т.д.
Каким образом можно создать чудо-файл конфигураций
На самом деле .htaccess создается достаточно просто. Порядок действий я перечислил чуть ниже. Не спешите самостоятельно оперировать командами, а первый раз аккуратно и по порядку выполните каждое действие. В зависимости от редактора, название действий могут несколько отличаться.
- Откройте любой редактор текстового контента (некоторые из них я ранее перечислил);
- После открытия пустого файла в меню выберете пункт «Сохранить как…»;
- В первую очередь поменяйте расширение файла. Оно не должно быть .txt. Если это стандартная программа Windows, то нужно из выпадающего списка выбрать пункт «Все файлы»;
- В наименовании документа напишите .htaccess, сохраняя точку перед словом;
- Обратите внимание на кодировку. Она обязательно должна быть ANSI;
- В ОС компаний Micosoft и Apple необходимо проверить еще один параметр – перенос слов. В данном документе с настройками есть команды, которые должны быть написаны строго в одну строку. Поэтому снимите галочку с данного пункта и нажмите «Сохранить».
Важные команды
Вот мы и подошли к самому интересному! Первоочередным правилом, которое стоит прописать, это кодировка. Для этого существует вот такая строка:
Если необходимо указать другой вариант кодировки, то ее название вставьте вместо UTF-8.
Еще одна супер-команда – это редирект. Благодаря .htaccess можно легко и быстро установить redirect 301, который позволяет перенаправлять пользователей на другие ссылки, склеивать доменные имена независимо от того есть www или нет.
Так следующие строки кода направят юзеров на сайт coolWeb.com вне зависимости от того есть ли www или нет, а также указана ли в ссылке стартовая страница (coolWeb.com/index.html) или нет.
RewriteEngine on RewriteBase / RewriteCond % Для владельцев веб-сервисов также будет полезно знать, как установить защиту от воров фотографий и картинок. Прикрепленный код решит эту проблему: RewriteEngine on RewriteCond %< HTTP_REFERER>! ^$ RewriteCond %< HTTP_REFERER>! ^http ://( www\.)? coolWeb.com /.*$ [NC] RewriteRule \. (gif|jpg|js|css)$ — [F] После выполнения данных правил вместо изображений на чужих сайтах будет отображаться сообщение об ошибке (403). Как вы могли заметить, написание команд в .htaccess-файле происходит за счет регулярных выражений. В прошлых публикациях я рассказывал основы данного подхода. Однако это достаточно сложные команды, изучению которых нужно уделить достаточно много времени. Для упрощения жизни девелоперам были созданы онлайн-генераторы кода для таких конфигурационных документов. В качестве примера можете ознакомиться с сайтом http://htaccess.ru/generator/ . Сгенерированными правилами можно оперировать и для настройки сайтов, написанных на движках. Таким образом, их можно использовать для WordPress, OpenCard, Joomla! и других. Надеюсь, вам понравился изложенный мною материал. Жду от вас заявок на подписку. Обязательно делитесь ссылкой на мой блог с друзьями. Пока-пока! Сервер Apache (на котором и находится большинство сайтов) имеет очень полезную возможность задавать определённые настройки сервера для конкретной директории (в частности, для одного сайта). Такой файл называется .htaccess. Однако, создавать его в Windows-системе так просто не получится. В этой статье я расскажу новичкам, как создаётся .htaccess в Windows. Особенность файла состоит в том, что он не имеет имени, у него лишь расширение. Это норма для Unix-систем, но в Windows это не совсем норма. Итак, порядок действий для создания .htaccess следующий: Всё, файл .htaccess создан. Далее можно его вновь открывать в любом текстовом редакторе и редактировать. Для новичков кое-что добавлю. В этом файле надо сразу прописать кодировку сайта. Если это UTF-8: Если это windows-1251: Далее этот файл надо поместить в корень сайта, там где находится index-файл (как правило, это index.html или index.php). Я об этом написал, поскольку у многих новичков проблемы с кодировкой на сайте именно по этой причине. Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)! Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov. Если Вы не хотите пропустить новые материалы на сайте, Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы. Порекомендуйте эту статью друзьям: Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте): Она выглядит вот так: Спасибо за статью, Михаил. Может быть немного не в тему но все-таки хотелось бы кое-что отметить, я тут обратил внимание на нижнюю часть вашей страницы: немного не стыкуются две части фона(серая и белая), может это и не ошибка, но в тем не менее глаза бросается. Кстати да, и вправду заметно. Наверное так было задумано.Здесь каждая страница оформлена таким образом. Ну не совсем так: если вы свернете ссылки, расположенные справа от вас(видеокурсы, яндекс-директ и тд), то подобного оформления вы уже не увидите. Значит это как-то взаимосвязано. Ха, оказывается всё так просто!))) Михаил огромное спасибо за помощь. Спасибо Михаил. Отличная статья. Наверно не в тему статьи, но больше писать некуда. Как убрать расширение файла из строки? Так что-бы вместо sitename.com/im.php было sitename.com/im ? Сделайте директорию /im и поместите в неё index.php. Либо воспользуйтесь htaccess А что конкретно нужно вписывать в htaccess для этого? Почитайте про ЧПУ-ссылки, Вам примерно это нужно. Здраствуйте, Михаил.У меня проблемы с кодировкой на разделе Обратная связь.Когда на почту приходить сообщение, непонятные слова бывает, иероглифы? Здравствуйте Абай Калдыбаев. Проверьте кодировку, у Вас где-то несоответствие. Должна быть либо UTF-8, либо win1251, но не то и другое. Если то и другое, то оно и порождает такие иероглифы. Внимательно проверьте. Извините за наверное такой глупый вопрос, но как же поместить этот файл в корень? Как вообще что либо поместить в корень? И ещё вопрос. Я по своей любопытности зашел в Кодировки->Кодировки->Киррилица->и выбрал Windows-1251. Теперь кваказябры и в самом редакторе) все попытки исправить не увенчались успехом) помогите пожалуйста, а то обучение встало уже на первом уроке) Артем, здравствуйте. Корень папки — это сама папка. Имеется ввиду, что не во вложенные папки надо записывать. По-поводу кодировки, если у Вас лично не получается, напишите в службу поддержки. здравствуйте! у меня вопрос. в системе mac os x нельзя создать файл имя которого начинается с точки, что сделать . Запускаете Terminal, с помощью команды cd добираетесь до нужной папки, в ней пишите: vim .htaccess Редактируете для чего жмете кнопку i , записываете для чего надо сначала нажать Esc, потом Shift + : у появившемся внизу : пишите wq (что означает записать и выйти). Вот вам и файл .htaccess там где надо. Михаил как мне сделать такое? чтобы при обращении по адресу www.site.ru/company/contacts запускался скрипт index.php?q=contacts&l=company (без редиректа) Ни как не могу разобраться с кодировкой, страницы с кодировкой и .htaccess добавил. Хостинг Bernet.ru Ставлю кодировку windows-1251 все русские слова сразу на сайте показываются по русски. В чём может быть проблема. Для добавления комментариев надо войти в систему. Copyright © 2010-2020 Русаков Михаил Юрьевич. Все права защищены. .htaccess — это специальный файл-инструкция для домена apache, с помощью которого можно корректировать конфигурацию веб сервера, его модулей, а так же параметры PHP. Создать .htaccess можно через файловый менеджер хостинга (ISPmanager, который предоставляется бесплатно при аренде выделенного сервера) или через FTP. В Windows, MacOS, возможно, у вас не получится создать этот файл. Поэтому можно поступить следующим образом: Если вы загрузили файл htaccess, но он не отображается — значит вопрос в настройке FTP клиента или FTP сервера. В системе Unix, на которой работают большинство хостингов, если имя файла начинается на точку, система считает его скрытым. Поэтому, в первую очередь, чтобы сделать так, чтобы файл был доступен — зайдите в настройки вашего FTP клиента, к примеру, FileZilla, и включите отображение скрытых файлов. В первую очередь, перед тем как начать редактировать этот файл — сделайте его резервную копию. Если что-то сделано не так, вы легко сможете восстановить работу сайта. Редактировать файл можно любым текстовом редакторов. Например, Notepad++, Sublime или редактор в панели хостинга. Как было сказано выше — действие файла распространяется на текущую директорию и все внутренние поддиректории. Кроме того: Это означает, что имеется ошибка в файле .htaccess. Возможные причины: Как устранить эту ошибку: посмотрите в error_log веб сайта. Там обязательно вы увидите указание на ошибку. Файл .htaccess будет работать как для PHP сайтов, так и для html сайтов. Главное — наличие веб сервера apache, т.к. именно он обрабатывает этот файл. Индексный файл — это тот файл, который будет открываться при заходе на сайт или директорию сайта. Как правило, это файл: index.php, index.htm, index.html. Но вы можете поменять его на любой другой. К примеру: myfile.php такой директивой: Если вы хотите включить отображение ошибок PHP, то в файл .htaccess необходимо добавить следующую директиву: Ошибка 403 Forbidden означает, что доступ запрещен. Если вы видите эту ошибку при открытии директории сайта и вместо этого сообщения хотели увидеть список файлов и директорий, это означает, что отключена специальная директива. Это сделано в целях безопасности, чтобы потенциальные вредители не могли найти файлы, через который можно взломать сайт или просто открыть файлы, доступ к которым вы не разрешали. Чтобы включить показ всех файлов и директорий, напишите следующее: А чтобы включить запрет на отображение файлов в директории, напишите: Кроме того, можно запретить к показу только определенные типы файлов в директории. К примеру, запретим показывать файлы .php и .html: Поменять кодировку сайта можно через файл .htaccess. К примеру, по умолчанию, веб сервер работает в кодировке UTF-8, а вам нужна кодировка windows-1251. Изменяется это просто: Таким образом, вы переопределите кодировку в текущий директории и поддиректории. Вы можете увеличить или уменьшить максимальный размер загружаемого файла через скрипт PHP. К примеру, увеличим размер до 100МБ с помощью двух директив upload_max_filesize и post_max_size: Обратите внимание, что максимальный размер не может быть больше того значения, которое установлено на сервере. Максимальный размер файла, установленный сервером можно посмотреть через функцию phpinfo(). Через файл .htaccess возможно изменить время жизни сессии PHP. Время жизни задается в секундах. По умолчанию время хранения сессий — 1440 секунд — это 24 минуты. Однако будьте с этим осторожны. При открытии сайта новым посетителем — создается файл сессии и если у вашего сайта большая посещаемость, то файлов сессий может накопиться очень много, а это может привести к: Включение обработки других файлов интерпретатором PHP Для любого скрипта на сервере выдается ограничение на максимальный используемый объем оперативной памяти. Параметр называется memory_limit и его можно посмотреть через phpinfo() или изменить через .htaccess. К примеру, ограничить 256 МБ: Обращаем внимание, что размер нельзя задать больше, чем разрешено самим сервером. Если у вашего сайта несколько алиасов (зеркал), то для SEO это не очень хорошо, т.к. появляется множество дублей сайта и он перестает быть уникальным. Можно настроить редирект на основной домен вашего сайта, к примеру, на имя website: То есть, если человек открыл сайт по алиасу, мы его переадресовываем на основной адрес домена. С недавних пор, Google и другие поисковые системы отдают предпочтение сайта, у которых настроен SSL. И если вы это сделали, то необходимо настроить переадресацию на эту версию, иначе опять возникнут дубли страниц сайта по разным адресам: http и https. Просто впишите следующее в ваш файл: Чтобы исключить дубли сайта и включить переадресацию на https версию сайта, нужно внести следующее. На примере, рассмотрим вариант, когда основной домен — без www: Через файл .htaccess вы можете запретить доступ к ресурсам сайта или наоборот, разрешить только определенным IP адресам. Можно ограничить как ко всем файлам и директориям, так и к некоторым. А можно заблокировать пользователя, зная его IP адрес 192.168.1.1: Или наоборот, запретить всем, а разрешить только 223.332.111.11: Вы можете указать свои страницы для различных ошибок (404,403, 500). Просто указать соответствующий путь до них относительно адреса сайта: Где /error/название файла — это HTML версия страницы ошибки. Пользователь увидит ее, если возникнет соответствующая ситуация. Если у вас возникли затруднения в настройке этого файла или некоторые директивы вам не понятны — вы легко можете обратиться к нашей техподдержке за помощью. Мы поможем вам правильно настроить файл .htaccess в любое время.Подведение итогов
Как создать файл .htaccess
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
то Вы можете подписаться на обновления: Подписаться на обновленияКомментарии ( 20 ):
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.htaccess для сайта. Создание и настройка htaccess
Инструкции распространяются на эту директорию, в которой создан файл, а так же на поддиректории.
Не отображается файл .htacess
Как изменить файл .htaccess?
Что нужно знать при редактировании файла хтаццесс?
После редактирования файла появилась ошибка 500 — Internal Server Error
htaccess для HTML сайта
Установка индексного файла для сайта
DirectoryIndex myfile.phpВывод ошибок PHP
php_value display_errors 1
Таким образом, php будет показывать все ошибки прямо в браузере.Ошибка 403 — Forbidden при открытии директории сайта
Options +Indexes
Options -Indexes
IndexIgnore *.php *.html.htaccess кодировка
AddDefaultCharset windows-1251
Так же можно задать кодировку отдельным типам файлам. К примеру, когда основной документ у вас в одной кодировке, а .htm файлы — в другой. Давайте сменим кодировку браузера для .htm файлов на UTF-8:
AddType «text/html; charset=utf-8» .htmИзменение максимального размера загружаемых файлов в PHP
php_value upload_max_filesize 20M
php_value post_max_size 20MВремя жизни сессии PHP
Давайте увеличим время хранения на 1 неделю. Надо вписать в файл следующие директивы:
php_value session.gc_maxlifetime 604800
php_value session.cookie_lifetime 604800
Через наш файл, вы можете указать отдельный список типов файлов, которые будут обрабатываться через php. К примеру, вы хотите включить обработку файлов интерпретатором PHP, которые имеют расширение .phtml. Тогда впишите:
AddType application/x-httpd-php .phtmlОграничение на использование оперативной памяти в PHP
php_value memory_limit 256MОсновное зеркало сайта через .htaccess
RewriteEngine on
RewriteCond %
RewriteRule ^(.*) http://website.ru/$1 [R=301,L]Включение переадресации для сайта на HTTPS
RewriteEngine on
RewriteCond %
RewriteRule ^ https://%Правильная SEO переадресация с HTTPS
RewriteEngine On
RewriteCond %
RewriteRule ^(.*) https://%1/$1 [R=301,NE,L]Запрет доступа по IP
К примеру, запретим доступ всем к текущей директории, поддиректории и файлам:
Order Deny,Allow
Deny from all
Order Deny,Allow
Deny from 192.168.1.1
Order Deny,Allow
Deny from all
Allow from 223.332.111.11Указание собственных страниц ошибок
ErrorDocument 403 /error/403error.html
ErrorDocument 404 /error/404error.html
ErrorDocument 500 /error/500error.html