Как создать файл htaccess для html сайта: Как создать файл .htaccess

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

Основы Unreal Engine 5

Пройдя курс:

— Вы получите необходимую базу по Unreal Engine 5

— Вы познакомитесь с множеством инструментов в движке

— Вы научитесь создавать несложные игры

Общая продолжительность курса 4 часа, плюс множество упражнений и поддержка!

Чтобы получить Видеокурс,
заполните форму

E-mail:
Имя:

Другие курсы

Как создать профессиональный Интернет-магазин

После семинара:

— Вы будете знать, как создать Интернет-магазин.

— Вы получите бесплатный подарок с подробным описанием каждого шага.

— Вы сможете уже приступить к созданию Интернет-магазина.

Записаться

Другие курсы

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

Аврелий Августин

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

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

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

Всё, файл .htaccess создан. Далее можно его вновь открывать в любом текстовом редакторе и редактировать.

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

AddDefaultCharset UTF-8

Если это windows-1251:

AddDefaultCharset CP1251

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

  • Создано 18.01.2013 11:20:36
  • Михаил Русаков

Предыдущая статьяСледующая статья

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov. ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:
    <a href=»https://myrusakov.ru» target=»_blank»><img src=»https://myrusakov.ru/images/button.gif» alt=»Как создать свой сайт» /></a>

    Она выглядит вот так:

  2. Текстовая ссылка:
    <a href=»https://myrusakov.ru» target=»_blank»>Как создать свой сайт</a>

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):
    [URL=»https://myrusakov. ru»]Как создать свой сайт[/URL]

Создание и настройка .htaccess — Виртуальный хостинг

Общие сведения

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

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

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

Создание и редактирование .htaccess

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

  1. Перейдите в раздел «Файловый менеджер» панели управления.
  2. Выберите пункт меню «Файл» — «Новый файл».
  3. Выберите из списка расширений .htaccess.
  4. Нажмите кнопку «Создать файл».

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

Для редактирования файла в файловом менеджере перейдите в директорию с данным файлом, выделите его кликом левой кнопки мыши и выберите пункт меню «Файл» — «Редактировать».

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

Вы также можете редактировать .htaccess во внешних редакторах, но обратите внимание, что текстовые редакторы Windows (например, «Блокнот») при сохранении любых документов с кодировкой UTF-8 добавляют в них метки порядков байтов юникода — BOM-сигнатуры. Файлы с такой сигнатурой некорректно обрабатываются веб-сервером, поэтому мы рекомендуем редактировать .htaccess напрямую в «Файловом менеджере» или через специальный редактор «Notepad++».

Примеры настроек

Перенаправления

Настройка редиректов описана в отдельной статье: Типовые перенаправления.

Параметры PHP

Настройка опций PHP через .htaccess описана в отдельной статье: Настройка параметров PHP.

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

Разрешить или ограничить доступ к сайту для определенных IPv4-адресов можно с помощью директив Order Allow,Deny или Require. В новых версиях Apache, начиная с 2.4, которая используется на наших хостинговых серверах, рекомендуется использовать именно Require.

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

Разрешить доступ конкретным IP (для остальных доступ запрещен):

Require ip 1. 1.1.1
Require ip 2.2.2.2

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

Запретить доступ конкретным IP (для остальных доступ разрешен). Для работы запрещающих директивы, их необходимо заключать в блоки <RequireAll>:

<RequireAll>
Require all granted
Require not ip 1.1.1.1
</RequireAll>

При использовании Allow,Deny:

Разрешить доступ всем, кроме конкретного IP:

Order Allow,Deny
Allow from all
Deny from 1.1.1.1

Запретить доступ всем, кроме конкретного IP:

Order Deny,Allow
Deny from all
Allow from 1.1.1.1

Запретить доступ для всех:

Deny from all

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

<Files myfile.html>
Require all denied
Require ip 1.1.1.1
</Files>

<Files myfile.html>
Order Deny,Allow
Deny from all
Allow from 1. 1.1.1
</Files>

Защита сайта или директории паролем. Базовая аутентификация

Если требуется защитить сайт или конкретную папку сайта паролем, можно воспользоваться базовой аутентификацией, которая работает на уровне веб-сервера Apache и настраивается также с помощью файла .htaccess.

  1. В первую очередь задайте логин и пароль, которые будут использоваться для входа. Для этого подключитесь к аккаунту по SSH и выполните команду ниже, указав нужные вам значения:
htpasswd -bc ~/.htpasswd логин пароль
  1. После выполнения команды в корневом каталоге вашего аккаунта будет создан файл .htpasswd, содержащий логин и хэш-сумму пароля. Если в дальнейшем вам потребуется изменить указанный пароль, снова используйте команду выше.
  2. Перейдите в директорию, которую необходимо защитить паролем (например, это может быть директория wp-admin), и создайте в ней файл .htaccess со следующим содержимым, указав вместо u и user первую букву вашего логина и сам логин:
AuthType Basic
AuthName "Authentication Required"
AuthUserFile /home/u/user/. .*$ - [R=404,L]

Ограничения по видам запросов

Для применения ограничений для определенных методов запросов можно использовать блоки <Limit>:

SetEnvIfNoCase User-Agent SolomonoBot bad_bot
SetEnvIfNoCase User-Agent MJ12Bot bad_bot

<Limit GET POST HEAD>
    Order Allow,Deny
    Allow from all
    Deny from env=bad_bot
</Limit>

Для новых версий Apache, начиная с 2.4, оптимально использовать директивы Require и заключать их в блоки <RequireAll>:

SetEnvIfNoCase User-Agent SolomonoBot bad_bot
SetEnvIfNoCase User-Agent MJ12Bot bad_bot

<Limit GET POST HEAD>
    <RequireAll>
    Require all granted
    Require not env bad_bot
    </RequireAll>
</Limit>

Индексная страница по умолчанию

Директива DirectoryIndex позволит вам указать страницу, которая будет отдаваться по умолчанию при обращении к директории, например:

DirectoryIndex new_index. html

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

DirectoryIndex new_index.html index.html index.php

Собственные страницы ошибок

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

ErrorDocument 500 http://domain.ru/errors/page500.html

Вы можете хранить файлы этих страниц как в корне сайта, так и в специально созданной папке, например, errors.

Кодировка

Указать кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц можно с помощью AddDefaultCharset, например:

AddDefaultCharset cp1251

При использовании PHP версии 5.6 и выше может потребоваться дополнительно указать:

php_value default_charset cp1251

Отображение листинга (содержимого директории)

Если индексный файл запрашиваемой клиентом директории недоступен, будет выведена ошибка «403 Forbidden». Если вместо этого необходимо отображение содержимого директории, потребуется добавить в .htaccess директиву:

Options +Indexes

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

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

Руководство по использованию и созданию файлов htaccess

Как создать файл .htaccess:
Как и большинство других типов файлов, вы можете создать файл, переименовав простой текстовый документ и присвоив ему имя «.access». Однако пользователям Windows может потребоваться внести изменения, чтобы иметь возможность просматривать файлы .htaccess в своей системе, что представляет собой простое изменение конфигурации, позволяющее просматривать «скрытые файлы». Dreamweaver может не распознавать файлы .htaccess из-за того, что они по умолчанию имеют нераспознаваемое расширение файла. Если вы используете Dreamweaver или аналогичную программу для редактирования кода, выберите «открыть файл с помощью Dreamweaver». Две программы, которые отлично подходят для редактирования файлов .htaccess: NotePad или SimpleText. По умолчанию Блокнот сохраняет файл .htaccess.txt, поэтому вам нужно будет удалить расширение .txt.

Примечание: .htaccess — это расширение файла. Это не file.htaccess или somepage.htaccess, это просто имя .htaccess

Общие замечания по .htaccess

  • Файлы htaccess необходимо загружать в формате ASCII, не ДВОИЧНЫЙ
  • Вам нужно будет изменить CHMOD файл htaccess на 644 или (RW-R—R—), чтобы сервер мог использовать файл (и предотвратить его чтение браузером)
  • Команды в htaccess в основном однострочные: вам может понадобиться отключить автоматический перенос слов
  • . htaccess также повлияет на подкаталоги, в которых они размещены

Используйте .htaccess для защиты каталога паролем
Вы можете использовать .htaccess для пароля каталога на вашем сервере. Существует множество подходов к созданию системы аутентификации. Htaccess можно использовать для паролей. Поместите имя пользователя и пароль в файл htpasswd.

 AuthUserFile  /full/path/to/.htpasswd 

AuthType Basic
AuthName «Мой каталог для защиты»
Требовать действительного пользователя

Полный/путь/к/.htpasswd должен быть полным путем к файлу .htpasswd. Например, в Windows это может выглядеть так: C:\wwwrootlevel\username\.htpasswd.

Приведенный выше файл .htaccess защитит паролем все файлы в папке, в которую он помещен, включая все подпапки.

Использовать .htaccess для защиты одного файла

 AuthUserFile /full/path/to/.htpasswd 
AuthType Basic
AuthName "Моя секретная страница"

html">
Требовать действительного пользователя

Этот сценарий защитит паролем только файл mywebfile.html в папке, в которую вы поместили файл .htaccess.

Изменение страницы каталога по умолчанию

Вы можете указать определенный файл в качестве индексного файла (индекс каталога). По умолчанию index.html или index.htm часто является индексом по умолчанию для каталогов. Допустим, вы хотите использовать другой файл в качестве индекса вашего каталога, вы можете использовать .htaccess для указания файла.

 DirectoryIndex имя файла.html 

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

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

Перенаправление /olddirectory/oldfile.html https://yoursite.com/newdirectory/newfile.html

Использование .htaccess, чтобы все страницы .html запускались как файлы .php?

спросил

Изменено 8 месяцев назад

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

Мне нужно запустить все мои файлы .html как файлы .php, и у меня нет времени менять все ссылки до нашей завтрашней презентации. Есть ли способ «взломать» это с помощью моего сервера Apache?

  • php
  • html
  • apache
  • .htaccess

2

Создайте файл .htaccess в корне вашего веб-сайта и добавьте следующую строку:

[Apache2 @ Ubuntu/Debian: используйте эту директиву]

 AddType application/x-httpd-php . html .htm
 

Или из комментария ниже:

 AddType application/x-httpd-php5 .html .htm
 

Если вы используете PHP как CGI (вероятно, это не так), вы должны вместо этого написать:

 Приложение AddHandler/x-httpd-php .html .htm
 

8

В My Godaddy Server работал следующий код

 Options +ExecCGI
Приложение AddType/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html
 

1

Это редакция для всех других правильных ответов:

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

 
 

и запустите/откройте этот файл в браузере.

Используйте этот вывод в файле .htaccess

Создайте файл .htaccess в корне вашего веб-сайта (обычно папка с именем public_html или htdocs на серверах Linux) и добавьте эту строку:

 AddType [[ВЫВОД ИЗ ВЫШЕ ФАЙЛ]] . html .htm
 

Пример

 Приложение AddType/x-httpd-php70 .html .htm
 

Важное примечание:

Если вы видите пустую страницу или Примечание: неопределенный индекс: REDIRECT_HANDLER

Попробуйте использовать значение по умолчанию в .htaccess

 AddHandler application/x-httpd-php .html
 

2

Вы также можете использовать флаг H или T в mod_rewrite для принудительного анализа всех файлов .html обработчиком php:

с использованием флага H (Handler):

 RewriteEngine on
RewriteRule \.(html|htm)$ - [H=application/x-httpd-php5]
 

с использованием флага T (тип):

 RewriteEngine включен
RewriteRule \.(html|htm)$ - [T=application/x-httpd-php5]
 

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

ex:

 RewriteRule \. (html|htm|txt|foo)$ - [T=application/x-httpd-php5]
 

приведенный выше пример изменит MIME-тип файлов, которые заканчиваются на .html , .htm , .txt , .foo на php.

Примечание: на некоторых серверах вам придется изменить php5 на php , чтобы этот пример работал в строке обработчика:

Измените его

 [T=application/x-httpd-php5]
 

 [T=application/x-httpd-php]
 

Вам необходимо добавить следующую строку в файл конфигурации Apache:

 AddType application/x-httpd-php .htm .html
 

Вам также понадобятся две другие вещи:

  1. Разрешить переопределение

    В файл your_site.conf (например, под /etc/apache2/mods-available в моем случае), добавьте следующие строки:

     ">
        Разрешить переопределить все
    
     
  2. Включить мод перезаписи

    Запустите эту команду на своем компьютере:

     sudo a2enmod переписать
     

    После любого из этих шагов вы должны перезапустить apache:

     перезапуск службы sudo apache2
     

Для тех, у кого все еще есть проблемы,

попробуйте это (мой хостинг был от Godaddy, и это единственное, что сработало для меня среди всех ответов).

 AddHandler x-httpd-php5-cgi .html
 

Я думаю, что это лучший способ запуска php-скрипта на html и htm-страницах:

 AddType application/x-httpd-php5 .html .htm
 

Обычно вы должны добавить:

 Опции +ExecCGI
 Приложение AddType/x-httpd-php .php .html
 AddHandler x-httpd-php5 .php .html
 

Однако для виртуального хостинга GoDaddy (php-cgi) необходимо добавить также следующие строки:

 AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html
 

Источник: Анализ HTML как PHP с использованием файла HTACCESS на Godaddy.

2

Запуск файлов .html, поскольку php внезапно перестал работать в моем файле .htaccess.

Поддержка Godaddy заставила меня изменить его на:

 AddHandler application/x-httpd-lsphp .html
 

2

поместите это в свой .htaccess

 AddType application/x-httpd-php . php .htm .html
 

больше информации на этой странице

0

Использование подхода @Marc-François Firefox предложил мне загрузить html-файл

Наконец, у меня работает следующее (используя оба):

AddType application/x-httpd-php .htm .html AddHandler x-httpd-php .htm .html

 Приложение AddHandler/x-httpd-php .php .html .htm
// или же
Приложение AddType/x-httpd-php .php .htm .html
 

1

Я использую PHP7.1, работающий на моем Raspberry Pi 3.

В файле /etc/apache2/mods-enabled/php7.1.conf я добавил в конце:

 AddType application/x- httpd-php .html .htm .png .jpg .gif
 

На серверах Dreamhost вы можете обратиться к этой странице, которая на момент написания указывает, что вы можете использовать следующее для php 7.2 с FastCGI:

 AddHandler fcgid-скрипт . html
FcgidWrapper "/dh/cgi-system/php72.cgi" .html
 

Или, если вы используете php5 cgi (не FastCGI):

 AddHandler php5-cgi .html
 

Ни один из ответов, размещенных здесь, не помог мне.

В моем случае проблема заключалась, с одной стороны, в том, что файл .conf (/etc/apache2/sites-available/default-ssl.conf или /etc/apache2/sites-available/000-default.conf) не содержал директивы AllowOverride All для каталога сайта, из-за чего .htaccess не обрабатывался. Чтобы решить эту проблему, добавьте:

 <Каталог /var/www/html/>
        Индексы опционов FollowSymLinks
        Разрешить переопределить все
        Требовать все предоставленные

 

С другой стороны, проблема заключалась в том, что .htaccess был создан пользователем root, и поэтому пользователь apache не мог его прочитать. Итак, смена владельца файла определенно решила проблему:

 chown www-data:www-data .htaccess
 

Сначала прочитайте это: https://httpd.

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

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