Файл .htaccess Что это, где находится, как создать, возможные ошибки

главная / web / статьи / файл .htaccess / часть 1

Файл .htaccess — файл дополнительной конфигурации для веб-сервера Apache и ему подобных. Это файл без названия, имеющий расширение .htaccess. Написание расширения происходит от английских слов hypertext (гипертекст) и access (доступ).

Файлов .htaccess на сервере может быть несколько. Он влияет на тот каталог сайта, в котором находится, а так же вложенные каталоги. Причем, файл .htaccess нижнего уровня переопределяет настройки аналогичного файла более высокого уровня. То есть, если один файл .htaccess находится в каталоге: www/, а другой находится в каталоге: www./directory/, они содержат одинаковые инструкции с различными параметрами, то для раздела www/directory/, а так же вложенных разделов будут применяться параметры которые находятся в файле www./directory/.htaccess, а для остальных — параметры, находящиеся в файле www/. htaccess.

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

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

Файл . htaccess можно создать при помощи Вашего любимого текстового редактора. Просто создаем новый файл, сохраняем в кодировке ANSI и при сохранении присваиваем ему имя «.htaccess». Если вы работаете на Windows или MacOS, так же необходимо преобразовать формат окончания строк в UNIX-формат, иначе сервер, с загруженным на него файлом .htaccess будет выдавать 500 ошибку.

Теперь подробнее, как это можно сделать при помощи бесплатного текстового редактора Notepad ++, скачать который можно здесь:

Открываем текстовый редактор и он автоматически создает новый файл. Если новый файл программой не создан, создаем его сочетанием клавиш ctrl + N или выбрав команду «новый» в меню «файл»:


Заходим в меню «кодировки», чтобы убедится, что кодировка нашего файла ANSI, если кодировка UTF или UCS, то легким кликом мыши преобразовываем ее:


Находим в меню «Правка» подменю «Конверсия конца строки» и меняем в нем кодировку на Unix-формат:


Нажимаем на изображение дискетки либо сочетание клавиш ctrl + S, либо выбираем команду «сохранить» или «сохранить как» в меню «файл».

В появившемся диалоговом окне выбираем директиву для сохранения, в поле «тип файла» выбираем «all types» (все типы), в поле «имя файла» пишем «.htaccess», нажимаем «сохранить».


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

Проверяем сайт на наличие ошибок. Если сервер выдает ошибку 500, значит, где-то допущена ошибка. Проверьте синтаксис файла, еще раз проверьте кодировку и формат переноса строк. Самая распространенная причина, почему после загрузки файла .htaccess на сервер, появляется ошибка 505 (ошибка сервера), это неправильная кодировка в файле .htaccess.



читать далее →

.htaccess — База знаний cPanel хостинг

Что такое .htaccess?
Файл .htaccess (англ. hypertext access) используется для простой и удобной настройки веб-сервера на котором хранится сайт пользователя. Соответственно меняя настройку веб-сервера, мы сможем поменять работу сайта. Как правило, файл .htaccess находится в корневом каталоге, а его действие распространяется на весь сайт и на все подкаталоги. Если же в другом каталоге содержится свой .htaccess, то он будет действовать только на свой каталог и подкаталоги.

Где находиться файл .htaccess?
Обычно он располагается в коневом каталоге сайта. Иногда, в различных CMS может находится файл htaccess.txt, который никак не воспринимается сервером и ни на что не влияет. Чтобы он начал работать нужно его переименовать в .htaccess. Если это не получится сделать на вашем компьютере, то зайдите на свой сервер через FTP-клиент, и переименуйте файл прямо сервере.

Как проверить работает ли .htaccess?
Все просто, напишите в первой строчке этого файла любое слово (например YAROBOT), сохраните файл и замените им находящийся на сервере. Если сайт продолжит работать, то .htaccess в данный момент не работает.

Если же появится ошибка 500 Internal Server Error, то это значит, что веб-сервер не смог понять команду (YAROBOT) и выдал ошибку. Этот факт подтвердит, что работа .htaccess на сервере поддерживается и включена в данный момент. Чтобы вернуть сайту работоспособность удалите строчку с YAROBOT.

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

Основные возможности .htaccess

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

.htaccess

Apache htaccess web-server

Была ли эта статья полезна?

да 3 нет 0

просмотры: 2563

html — расположение файла .htaccess

Задавать вопрос

спросил

Изменено 5 лет, 7 месяцев назад

Просмотрено 74к раз

/var/www/html/My_project_folder — это путь к моему проекту. Я не нашел файл .htaccess. Я хочу вставить отредактированный файл .htaccess. но я не уверен, в какое место мне нужно поместить? Мой код файла htaccess — 9индекс\.php$ — [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Правило перезаписи.

/index.php [Л] # Включить истечение срока действия ExpiresActive On # Директива по умолчанию ExpiresDefault «доступ плюс 1 месяц» # Мой фавикон ExpiresByType image/x-icon «доступ плюс 1 год» # Изображений ExpiresByType image/gif «Доступ плюс 1 месяц» ExpiresByType image/png «доступ плюс 1 месяц» ExpiresByType image/jpg «Доступ плюс 1 месяц» ExpiresByType image/jpeg «Доступ плюс 1 месяц» # CSS ExpiresByType text/css «доступ 1 месяц» # Джаваскрипт Приложение ExpiresByType/javascript «доступ плюс 1 год»
AddOutputFilterByType DEFLATE текстовый/обычный AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css Приложение AddOutputFilterByType DEFLATE/xml Приложение AddOutputFilterByType DEFLATE/xhtml+xml Приложение AddOutputFilterByType DEFLATE/rss+xml Приложение AddOutputFilterByType DEFLATE/javascript Приложение AddOutputFilterByType DEFLATE/x-javascript

Этот код я добавил в файл . htaccess для ускорения работы моего сайта. Пожалуйста, помогите мне найти файл .htaccess. Заранее спасибо!

  • html
  • .htaccess
  • web
  • pagespeed

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

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

nano .htaccess (для пользователей Linux)
редактировать .htaccess (для пользователей Windows)

5

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

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

Требуется, но не отображается

Опубликовать как гость

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

Требуется, но не отображается

httpd — Что эквивалентно в .

htaccess?

спросил

Изменено 5 лет, 10 месяцев назад

Просмотрено 12 тысяч раз

Я настраиваю Trac и хочу защитить паролем страницу входа, как предлагается здесь. Я использую общий хостинг, поэтому я не могу изменить httpd.conf, я должен использовать .htacces. Как ограничить только страницу входа, не ограничивая другие страницы? Документы Trac предлагают:

 <Расположение "/trac/логин">
  Основной тип авторизации
  Имя авторизации "Trac"
  AuthUserFile /где-то/trac.htpasswd
  Требовать действительного пользователя

 

Но тег Location предназначен только для httpd.conf, он не работает в .htaccess. Как добиться такого же эффекта? Там нет каталога «login», в который можно поместить файл . htaccess, он должен войти в основной каталог trac.

  • httpd
  • apache-2.2

Это всего лишь предположение, но можете ли вы поместить это в файл .htaccess, за вычетом Теги и внутри каталога /trac/login?

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

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

В apache 2.4 это можно сделать, изменив директиву allow override в корневом файле httpd.conf или специально для вашего хоста.

https://httpd.apache.org/docs/2.4/howto/htaccess.html

 <Каталог "/www/htdocs"> Разрешить переопределить все  <Расположение "/trac/логин"> Основной тип авторизации
 Имя авторизации "Trac"
 AuthUserFile /где-то/trac.