Как использовать файл htaccess на сервере Nginx
Apache — это не единственный тип сервера, который существует. Второй по популярности сервер — это Nginx. Те, кто уже побывал на Apache, наверняка привыкли к тому, что там есть файл конфигураций htaccess. Потому после перехода на Nginx таким пользователям будет сложно осознать, что данный сервер не поддерживает файл htaccess и его директивы.
Если хотите использовать функции конфигурационного файла htaccess на сервере Nginx, то вам придется научиться конвертировать директивы этого документа в опции Nginx.
Содержание
- Стоит ли использовать аналог htaccess на сервере Nginx
- Как конвертировать опции htaccess для серверов Nginx
Стоит ли использовать аналог htaccess на сервере Nginx
Прежде чем начать искать аналоги файла htaccess для этого сервера, стоит задуматься о целесообразности такого решения. Использовать файл дополнительных конфигураций необязательно, даже для серверов Apache. Многие его функции можно реализовать через php-код. Большинство вебмастеров лишь изредка обращаются к htaccess, так как этот файл со временем сильно нагружает сервер. Ведь он загружается каждый раз, когда появляется запрос к серверу.
Тем не менее, некоторые опции конфигурационного файла позволяют ускорить работу сервера. К примеру, при помощи него вы сможете активировать кэширование браузеров пользователей, включить сжатие данных и т. д. Также файл htaccess подходит для защиты файлов и папок, а также для общей оптимизации ресурса. Потому все-таки есть смысл искать аналоги этого файла для Nginx.
Как конвертировать опции htaccess для серверов Nginx
Существует специальный Nginx converter — это онлайн-сервис, который необходим для перевода синтаксиса файла htaccess в синтаксис конфигурационного документа сервера Nginx. То есть все, что вам понадобится сделать, — это ввести директивы файла htaccess в конвертер, затем скопировать результат, и вставить в конфигурации Nginx. При этом важно, чтобы файл Apache, с которого вы копируете данные, был рабочим. Протестируйте его на локальном сервере. Если возникает ошибка 500, значит его нельзя использовать для перевода — в нем содержится ошибка.
В основном, конвертер предназначается для перевода директив модуля mod_rewrite. Как известно, директивы этого модуля используются в htaccess чаще других. Вы сможете перевести опции переадресаций с редиректами, директивы склеивания зеркал, удаления слешей из ссылок и т. д. А теперь коротко рассмотрим некоторые директивы htaccess и их аналоги в Nginx.
Если вы захотите добавить в Nginx свои страницы с ошибками, что весьма правильно, то вместо ErrorDocument, вам нужно будет писать, к примеру, вот так: error_page 404 http://domen.ru/error/404.htm. И так вы сможете написать для каждой страницы. Только не забудьте предварительно создать страницы с ошибками. Только потом вы сможете прописать для них путь.
В качестве защиты папок в htaccess часто указывали директиву для запрета листинга каталогов. Для этого писали следующую опцию: Options -Indexes. В Nginx она будет выглядеть совсем по-другому: autoindex off. А для активации листинга укажите вместо off слово on. К сожалению, директиву IndexIgnore через конвертер у вас перевести не получится. Потому вы не сможете при открытом листинге скрывать какие-либо файлы на сервере Nginx. Зато вы сумеете указать свой вариант индексного файла. Для этого нужно прописать вместо DirectoryIndex одно слово: index, и к нему добавить перечень файлов, которые нужно считать индексными.
Некоторые директивы так же легко переводить в Nginx, как и опцию DirectoryIndex. К примеру, директива определения основной кодировки для сайта AddDefaultCharset. Она нужна для того, чтобы все браузеры видели сайт в одной кодировке. Настройка этой опции исключит появление несвязных закорючек на страницах вашего ресурса. Кроме того, вы сможете создать версии портала на другом языке. Чтобы сделать это в Nginx, нужно указать директиву Charset и название кодировки.
Если вы хотите заблокировать доступ к сайту только для некоторых пользователей, то необязательно прописывать сначала Allow from all, а потом указывать исключения. В Nginx достаточно прописать каждый IP-адрес в отдельной строчке после директивы Deny. Например:
deny 81.222.144.12;
deny 81.222.144.20;
А если нужно разрешить доступ только некоторым IP-адресам, то нужно сначала его запретить для всех при помощи директивы Deny all. А потом так же, как и с deny в предыдущем примере: указать в каждой строке по одному IP-адресу, только уже с директивой Allow. Для блокировки какого либо-файла или папки вместо тегов <Files></Files> вам следует писать сначала опцию location, а затем в скобках {} указывать директивы deny и allow. Например, вот как будет выглядеть блокировка файла passwd.html для всех, кроме IP-адреса 81.222.144.12:
location /passwd.html {
deny all;
allow 81.222.144.12;
}
А что касается установки пароля на определенные файлы, то в Nginx это делать еще проще, чем если бы прописывали эту опцию в документе htaccess. Вместо того, чтобы указывать четыре директивы, вам необходимо будет указать всего две. В первой строчке необходимо написать опцию auth_basic и в кавычках указать обращение к пользователю, который хочет авторизоваться. А во второй auth_basic_user_file вам следует написать путь к файлу с паролями, которые необходимы для аутентификации.
Единственное, с чем вам придется изрядно помучиться — это перевод директив модуля mod_rewrite в формат настроек Nginx. С этим действительно все сложно, поскольку вам придется изучить синтаксис Nginx, чтобы понять, как активировать на сервере перенаправление URl. В любом случае, вам понадобится директива location, которая нужна для указания адреса переадресации. В скобках вместо директивы RewriteCond, обозначающей условия перенаправления ссылки, нужно писать if. А вместо правила переадресации RewriteRule пишите просто Rewrite.
Многие функции вы не сможете перевести из стандартного файла htaccess в модифицированный для серверов Nginx. Потому от некоторых возможностей Apache вам придется либо полностью отказаться, либо искать другие пути решения. Используйте специальные плагины и модули для сайта, и сможете реализовать возможности htaccess не через сервер, а через движок.
Настройка файла .htaccess — ИТ Проффи
Файл .htaccess позволяет настраивать веб-сайт на сервере Apache без необходимости изменять файлы конфигурации сервера. В данном руководстве мы рассмотрим наиболее распространенные примеры его использования. Однако, прежде чем перейти к работе с этим файлом, необходимо сделать важное замечание. Несмотря на то, что страница .htaccess может быть очень полезной и существенно улучшить сайт, у нее есть два фактора негативного влияния:
1. Скорость — страница .htaccess может немного замедлить работу вашего сервера, хотя для большинства серверов это изменение будет незаметным. Это связано с расположением страницы: она влияет на все страницы в своей директории и в ее поддиректориях. При каждой загрузке страницы сервер сканирует ее директорию и все директории выше, пока не дойдет до верхнего уровня или файла . htaccess. Эти действия выполняются всегда, когда параметр AllowOverride (о нем чуть ниже) разрешает использование файлов .htaccess, независимо от того, существуют ли эти файлы на самом деле.
2. Безопасность — файл .htaccess гораздо доступнее стандартной конфигурации Apache, а изменения вносятся мгновенно (без необходимости перезапуска сервера). Предоставление пользователям права внесения изменений в файл .htaccess предоставляет им значительный контроль над самим сервером. Любая директива в файле .htaccess действует так же, как директива в самой конфигурации Apache.
В целом Apache не рекомендует использовать файл .htaccess, если пользователь сам может работать с файлами конфигурации Apache.
Содержание
- Подключение файла .htaccess
- Создание файла .htaccess
- Использование файла .htaccess
- Управление доступом
- Аутентификация
- Сообщения об ошибках
- Описание типов MIME
- Серверные включения
- Редирект
- Модуль Mod_Rewrite
- Управление кэшированием данных
- Заключение
Подключение файла .
htaccessЕсли у вас есть доступ к настройкам сервера, вы можете изменить конфигурацию, чтобы разрешить использование .htaccess вместо стандартной конфигурации веб-сайта. Откройте файл конфигурации узла apache2 по умолчанию (для этого вам потребуются привилегии суперпользователя):
$ sudo nano /etc/apache2/sites-available/default
Найдите в этом файле следующий раздел и измените значение параметра AllowOverride c None на All. В конечном итоге раздел должен выглядеть так:
Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all
Сохраните и закройте этот файл, а затем перезапустите apache.
$ sudo service apache2 restart
Создание файла .htaccess
Файл .htaccess можно создать в любом текстовом редакторе, например:
$ sudo nano /var/www/example.com/.htaccess
Убедитесь, что его имя строго .htaccess, а затем при помощи ftp-клиента загрузите его на сайт.
Использование файла .htaccess
Использование файла .htaccess не требует таких высоких привилегий, как доступ файлу apache2.conf, но при этом позволяет осуществлять эффективное управление сайтом. Далее мы рассмотрим ряд примеров применения этого файла.
Управление доступом
Файл .htaccess может применяться для гибкого разграничения доступа к вашему сайту или отдельным его страницам. Один из типичных вариантов – запрет доступа с определенных IP-адресов, например, следующий код запрещает доступ со всех адресов, кроме 192.168.1.1. Это полезно при обслуживании сайта, когда требуется закрыть доступ для всех, кроме администратора.
Order Allow,Deny Deny from All Allow from 192.168.1.1
Директива Order указывает порядок выполнения следующих директив (сначала Allow — разрешение, затем Deny — запрет). Deny from All
запрещает доступ вообще, но так как в соответствии с порядком выполнения сначала разрешен доступ с адреса 192. 168.1.1, запрет будет действовать для всех, кроме указанного адреса. Вместо IP-адресов можно указывать подсети (например, формат 192.168 означает подсеть 192.168.x.x) или доменные имена.
Аутентификация
Использование .htaccess позволяет выделить определенную часть сайта и защитить ее паролем. Пароли .htaccess хранятся в файле .htpasswd. Создайте файл, внесите в него имена и пароли всех пользователей, которым вы хотите предоставить доступ к защищенной части сайта, и сохраните его. Файл не должен находиться в веб-директории (по соображениям безопасности). Введите в этот файл любое необходимое количество записей в формате пользователь:пароль. Для каждого пользователя нужно создать отдельную строку. Пароль должен быть указан в закодированном виде. Для кодирования паролей можно воспользоваться специальным сайтом или программой htpasswd, которая входит в комплект установки Apache. Для создания файла и добавления пользователей с помощью утилиты httpasswd используйте команду
htpasswd -cm . htpasswd admin
Эта команда создаст пользователя admin и запросит ввести пароль для него. После ввода пароля запись в файл .htpasswd будет добавлена.
После этого нужно разместить файл .htaccess в директории, к которой требуется защитить доступ, и ввести в него следующий код:
AuthUserFile /usr/local/username/safedirectory/.htpasswd
AuthGroupFile /dev/null
AuthName «Пожалуйста, введите пароль»
AuthType Basic
Require valid-user
Рассмотрим значение этих параметров:
AuthUserFile: путь к файлу .htpasswd на сервере
AuthGroupFile: эта строка используется для обозначения месторасположения файла .htgroup. Так как мы его не создавали, можем указать здесь /dev/null.
AuthName: Текст, отображаемый в предложении ввести пароль.
AuthType: Тип аутентификации, используемый для проверки пароля. При проверке паролей через HTTP нужно оставить значение Basic.
Require valid-user: Ключевая фраза, которая указывает файлу . htaccess наличие нескольких пользователей, которым требуется обеспечить возможность входа в защищенную паролем часть сайта. Другой возможный вариант – ключевая фраза «require user username», обозначающая конкретного пользователя с разрешенным доступом.
Сообщения об ошибках
Файл .htaccess позволяет вам создавать для своего сайта собственные страницы, сообщающие об ошибках. Вот некоторые из наиболее распространенных ошибок:
400 Ошибка в запросе
401 Требуется авторизация
403 Доступ запрещен
404 Файл не найден
500 Внутренняя ошибка сервера
Можно воспользоваться файлом .htaccess для создания собственных страниц, которые будут более дружественны к пользователю и предоставлять больше информации, чем стандартные сообщения сервера об ошибках.
Для примера мы рассмотрим страницу 404, аналогичным образом можно описать в файле .htaccess страницы для других ошибок. Естественно, сначала нужно создать саму страницу с необходимой информацией и загрузить ее на сервер. Затем укажите ее месторасположение в файле .htaccess:
ErrorDocument 404 /new404.html
В рассматриваемом примере сервер будет искать страницу 404 в корневой директории сайта. Если она находится в какой-либо поддиректории, нужно указать путь, например:
ErrorDocument 404 /error_pages/new404.html
Описание типов MIME
Если на вашем сайте есть файлы каких-либо приложений, для отображения которых ваш сервер не настроен, в файле .htaccess можно описать типы MIME при помощи следующего кода, чтобы браузер отображал их в необходимом формате:
AddType audio/mp4a-latm .m4a
В данном примере для файлов с расширением .m4a задано представление в виде аудиозаписей. Для поддержки других типов MIME укажите соответствующий тип и расширение файла.
Серверные включения
Серверные включения (Server Side Includes, SSI) позволяют добиться значительного повышения скорости открытия сайта. Они представляют собой директивы для динамической генерации данных на странице сервером перед ее отправкой клиенту.
Один из наиболее распространенных вариантов использования SSI – обновление большого количества страниц с передачей определенных данных вместо обновления каждой страницы по отдельности (например, если вам нужно заменить цитату в нижней части страницы).Для использования SSI введите в файл .htaccess следующий код:
AddType text/html .shtml AddHandler server-parsed .shtml
Первая строка задает интерпретацию файлов с расширением .shtml как html-кода, а вторая – обработку таких файлов с любыми командами SSI на сервере.
Однако, если у вас много страниц .html, и вы не хотите менять расширение, для их обработки команд SSI в этих файлах можно воспользоваться XBitHack. Следующая строка в файле .htaccess заставляет сервер проверять все html-файлы с соответствующими разрешениями на наличие SSI:
XBitHack on
Для того, чтобы установить необходимые для XBitHack разрешения, воспользуйтесь командой:
chmod +x имя_страницы.html
Редирект
Эти директивы используются с завидной регулярностью. Они позволяют перенаправить посетителя со старого URL на новую страницу. Это возможно благодаря 301-редиректу. Достаточно в код файла вписать:
Redirect 301 /index.html http://domain.ru/newindex.html
В целом директива будет отображена в таком виде:
Redirect [status] URL_LOCAL URL_REDIRECT
URL_LOCAL – это старый адрес, с которого осуществляется перенос пользователя.
URL_REDIRECT – новый URL, куда переносится страница.
В поле [status] могут быть следующие значения:
301 – страница перенесена навсегда.
302 – страница перенесена на время.
303 – смотрите другую страницу.
410 – страница удалена.
Модуль Mod_Rewrite
Одна из наиболее полезных функций файла .htaccess – его использование с модулем mod_rewrite, который применяется для перезаписи URL, отображаемых в браузере пользователя. Это может использоваться для их представления в более удобочитаемом формате и других задач, например, редирект с http на https можно настроить следующим образом. (.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
Первая строка активирует модуль Mod_Rewrite, а две последующие при попытке соединения по отличному от 443 порту переписывают URL, чтобы он начинался не с HTTP, а c HTTPS, перенаправляя посетителя на защищенное соединение.
Управление кэшированием данных
Файл .htaccess можно использовать для задания различных сроков кэширования контента вашего сайта. Целесообразно увеличить срок кэширования для редко меняющихся данных, чтобы ускорить загрузку сайта. Например, следующий код
ExpiresActive on ExpiresByType image/jpeg "access plus 1 day" ExpiresByType image/gif "modification plus 3 months" ExpiresByType text/html "now"
отключает кэширование для HTML, для изображений JPEG устанавливает срок в 1 день с момента обращения, а для GIF — 3 месяца с момента модификации файла.
Заключение
Страница .htaccess обеспечивает значительную гибкость при создании сайтов, но наше руководство достаточно краткое. Более подробную информацию о возможностях файла .htaccess можно получить в документации для сервера Apache.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
apache не видит htaccess — Все о Windows 10
Вы создали в директории с сайтом файл .htaccess, но чтобы вы туда не писали, ни одна директива не работает. Почему?
Скорее всего здесь виновата опция AllowOverride в apache.
Куда же ее вставлять?
Заходим в конфигурационный файл Apache — httpd.conf. В FreeBSD он располагается здесь:
В других системах расположение другое. Но в целом не так трудно его найти:)
Находим такой блок … , если нет то создаем его:
AllowOverride All
Order allow,deny
Allow from all
Если есть, то добавляем либо меняем опцию AllowOverride:
/usr/local/www/apache22/data/site.ru — это абсолютный путь до вашей директории, где лежит файл .htaccess
AllowOverride All — здесь сказано что если существует файл . htaccess, то все (All) директивы прописанные в нем выполнять. Кстати если не хотите чтоб сервер читал файл .htaccess то замените «All» на «None».
Allow from all — доступ к папке имеют все.
После того как добавили блок с описанием вашей директории перезапускаем apache.
Теперь все директивы в файле .htaccess должны отрабатывать.
У меня есть сервер из сервиса AWS EC2, работающий в Linux Ubuntu, и я установил apache, php и mysql.
Я добавил .htaccess файл в корне моего документа /var/www/html ,
Я ввел этот код в нем:
ErrorDocument 404 /var/www/html/404.php и это все еще не обнаруживается.
Я продолжал вводить эту команду несколько раз: sudo service httpd restart перезагрузить сервер, но не отображаются изменения …
Как я могу это исправить … Я сделал что-то не так?
Решение
Во-первых, обратите внимание, что перезапуск httpd не требуется для файлов .htaccess. Файлы .htaccess специально предназначены для людей, у которых нет root — то есть они не имеют доступа к файлу конфигурации сервера httpd и не могут перезапустить сервер. Поскольку вы можете перезапустить сервер, вам не нужны файлы .htaccess, и вы можете напрямую использовать конфигурацию основного сервера.
Во-вторых, если файлы .htaccess игнорируются, вам необходимо проверить, правильно ли установлен AllowOverr > для деталей. Вам также необходимо убедиться, что он установлен в правильной области — то есть в правильном блоке в вашей конфигурации. Будь уверен НЕ редактирование одного в блоке, например.
В-третьих, если вы хотите убедиться, что файл .htaccess действительно читается, поместите в него мусор.
Недопустимая строка, такая как «INVALID LINE HERE», в вашем файле .htaccess приведет к ошибке 500 Server, когда вы укажете браузеру на каталог, содержащий этот файл. Если это не так, то у вас не настроен AllowOverride правильно.
Другие решения
Включить модуль Apache mod_rewrite
добавьте следующий код в /etc/apache2/sites-available/default
Если вы перепробовали все вышеперечисленное, которые являются действительными и хорошими ответами, и ваш файл htaccess не работает или читается, измените директиву в apache2. conf файл. Под Ubuntu путь /etc/apache2/apache2.conf
Изменить директива, указывающая на ваши общедоступные веб-страницы, где находится файл htaccess. Меняться от AllowOverride None в AllowOverride All
За Ubuntu,
Сначала запустите эту команду:
Затем отредактируйте файл /etc/apache2/sites-available/000-default.conf используя nano или vim с помощью этой команды: —
Тогда в 000-default.conf файл, добавьте это после строки DocumentRoot /var/www/html , Если ваш корневой каталог html — это что-то другое, то напишите:
Сделав все, перезапустите apache с помощью команды sudo service apache2 restart
Скорее всего, для AllowOverride установлено значение None. в разделе каталога apache2.conf, расположенном в папке / etc / apache2
Попробуйте установить для него AllowOverride All
Просто выполните 3 шага
Включите mode_rewrite, используя следующую команду
sudo a2enmod переписать
Пароль будет запрошен. Так что введите свой пароль
Обновите свой 000-default. conf или же default.conf файл находится в / и т.д. / apache2 / сайты-доступны / каталог. Вы не можете редактировать его напрямую. поэтому используйте следующую команду, чтобы открыть
sudo gedit /etc/apache2/sites-available/000-default.conf
Или же
sudo gedit /etc/apache2/sites-available/default.conf
линия. Добавьте следующий код после него.
Сделайте так, чтобы путь тега каталога был таким же, как показано в вашем файле.
Перезагрузите сервер apache, используя следующую команду
перезапуск службы sudo apache2
По моему опыту, директива / var / www / directory запрещает директивы virtualhost. Так что, если вы перепробовали все предложения и все еще не работали, и вы используете виртуальные хосты, попробуйте это;
1 — убедитесь, что у вас есть
AllowOverride All директива в
/etc/apache2/sites-available/example.com.conf
2 — Проверьте / var / www / Директивы директивы в /etc/apache2/apache2. conf (возможно, в строке 164), которая выглядит так;
Если есть AllowOverride None директива изменить его на
AllowOverride All или просто сбежать
По умолчанию Apache запрещает использование файла .htaccess для применения правил перезаписи, поэтому
Шаг 1 — Включение mod_rewrite (если не включено)
Во-первых, нам нужно активировать mod_rewrite. Он доступен, но не включен с чистой установкой Apache 2.
Это активирует модуль или предупредит вас, что модуль уже включен. Чтобы эти изменения вступили в силу, перезапустите Apache.
mod_rewrite теперь полностью включен. На следующем шаге мы настроим файл .htaccess, который будем использовать для определения правил перезаписи для перенаправлений.
Шаг 2 — Настройка .htaccess
Откройте файл конфигурации Apache по умолчанию, используя nano или ваш любимый текстовый редактор.
Внутри этого файла вы найдете блок, начинающийся с первой строки. Внутри этого блока добавьте следующий новый блок, чтобы ваш файл конфигурации выглядел следующим образом. Убедитесь, что все блоки имеют правильные отступы.
Сохраните и закройте файл. Чтобы эти изменения вступили в силу, перезапустите Apache.
Проблема распрастраненая, сначало облазил кучу мануалов и пробывал разные варианты, в итоге не зашло. Вот теперь пишу. Только вникаю в linux. поставил апач2 туда засунул mod_rewrite, создал виртуальный хост ( закинул туда проектик на yii2 с openservera )
в настройках апача , а именно тут /etc/apache2/apache2.conf прописано следующее : AccessFileName .htaccess
виртуальный хост загружается — с этим проблем нет , а вот файл .htaccess не видит в упор. Отмечу — что в синтаксисе самого проекта ошибок нет, т.к взят рабочий проект с win OpenServer.
и дополнительный вопрос apache и apache2 , различие в версиях?
Как включить .htaccess в WordPress?
В этом руководстве показано, как включать, редактировать или обновлять файл .htaccess на веб-сайтах WordPress.
.htaccess — это файл конфигурации, предназначенный для изменения настроек веб-сервера Apache. Его можно использовать для перенаправления веб-сайтов, постоянных ссылок, URL-адресов, защиты паролем и многого другого.
Этот файл необходим для правильной работы веб-сайта. Любая неправильная конфигурация в .htaccess может привести к ошибке при попытке доступа к сайту.
После прочтения этого руководства вы узнаете, как включить этот файл конфигурации из WordPress, а также некоторые дополнительные советы, связанные с файлом .htaccess.
Включение файла .htaccess из WordPress Для начала войдите в панель инструментов WordPress; обычно вы можете получить к нему доступ через https://
Вы увидите форму входа, введите свое имя пользователя и пароль, чтобы получить доступ к панели управления WordPress.
После входа в систему в левом меню найдите Настройки , как показано на скриншоте ниже. Затем нажмите Постоянные ссылки .
На приведенном ниже снимке экрана показано, где находятся параметры Настройки и Постоянные ссылки .
Когда появится страница постоянных ссылок, прокрутите вниз и просто нажмите кнопку Сохранить изменения , показанную на следующем рисунке.
Теперь файл .htaccess был сгенерирован в корневом каталоге вашего сервера.
Включите или отредактируйте файл .htaccess из CpanelЕсли у вас есть доступ к Cpanel, вы можете создать и отредактировать файл .htaccess из диспетчера файлов Cpanel.
Войдите в свою учетную запись Cpanel и на главном экране прокрутите вниз и выберите диспетчер файлов, показанный на снимке экрана ниже.
Перейдите в основной каталог вашего сайта, где расположены каталоги wp-content, wp-admin и т. д.
В левом верхнем углу вы увидите опцию +File , нажмите ее, чтобы создать файл . htaccess.
Появится поле для ввода имени файла, введите .htaccess (не пропустите точку) и нажмите кнопку Создать новый файл .
Теперь ваш файл .htaccess создан, но пуст. Чтобы отредактировать или добавить содержимое, щелкните правой кнопкой мыши файл .htaccess и нажмите Редактировать .
Появится новое поле для указания специальной кодировки, если это необходимо. Если вы работаете на английском языке, вы можете просто проигнорировать его и нажать кнопку Edit .
Как было сказано ранее, если вы создали файл .htaccess из Cpanel, он будет пустым.
Ниже приведен пример стандартной конфигурации WordPress .htaccess. Вы можете скопировать и вставить его в свой .htaccess.
# НАЧАЛО WordPress
9index\.php$ — [L]RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
В Cpanel файл будет выглядеть так, как показано ниже.
В правом верхнем углу нажмите синюю кнопку Сохранить изменения , чтобы применить новую конфигурацию.
Теперь ваш файл .htaccess готов с конфигурацией по умолчанию.
Включить или отредактировать файл .htaccess с FTPВ этом разделе показано, как создать файл .htaccess с помощью FTP-клиента. В этом уроке я буду использовать FTP-клиент Filezilla.
Перед запуском вам необходимо создать файл с именем .htaccess (не забудьте точку) со следующим содержимым и сохранить его на своем компьютере; мы загрузим этот файл с помощью FTP-клиента.
# BEGIN WordPress
RewriteEngine On
RewriteRule .* — [E=HTTP_AUTHORIZATION:%{HTTP:Авторизация}] 9index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .
# END WordPress
После создания файла .htaccess с конфигурацией по умолчанию вы можете открыть выбранный вами FTP.
Ниже вы можете увидеть скриншот Filezilla, FTP-клиента, используемого в этом руководстве.
Вы увидите 3 поля для заполнения; обычно все FTP-клиенты содержат одни и те же поля, в том числе:
- Хост: Здесь вы указываете свой FTP-адрес (например, ftp.yourdomain.com).
- Имя пользователя: Ваше имя пользователя FTP.
- Пароль: Ваш пароль FTP.
После ввода адреса FTP-сервера, имени пользователя и пароля нажмите кнопку Quick Connect , чтобы установить соединение.
После подключения выберите корневой каталог вашего сайта и в левом окне, показывающем локальные файлы и каталоги, щелкните правой кнопкой мыши .htaccess , который вы создали на первом этапе этого раздела, и нажмите кнопку Загрузить , как показано на снимке экрана ниже.
После загрузки файла htaccess вы можете обновить удаленное представление, и вы увидите файл .htaccess (в моем случае он был создан несколько месяцев назад).
Чтобы редактировать свой .htaccess через FTP, вам нужно создать новый отредактированный файл .htaccess и загрузить его вместо старого. При этом настоятельно рекомендуется сохранить старый рабочий файл .htaccess в качестве резервной копии.
ЗаключениеЯ надеюсь, что это руководство, объясняющее, как включить файл .htaccess в WordPress, было полезным.
При работе с веб-сайтами обязательно иметь дело с .htaccess. С технической точки зрения специалисты по маркетингу также должны иметь дело с файлом .htaccess, чтобы определить правильные перенаправления для целей SEO.
Таким образом, как вы можете видеть, файл .htaccess важен во многих областях, включая безопасность и маркетинг, помимо прочего. Например, вы можете использовать свой .htaccess для перенаправления всего трафика через https, даже если посетители пытаются попасть на ваш сайт по http; это то, что на самом деле делают плагины, принудительно использующие SSL.
Как видите, создание файла .htaccess или его редактирование не является сложной задачей, а в Интернете есть множество примеров и инструкций по применению доступных функций.
Спасибо, что прочитали эту статью о файле .htaccess и Вордпресс; продолжайте следить за нами для получения дополнительных советов и руководств.
Понимание конфигурации файла .htaccess по умолчанию
ПРИМЕЧАНИЕ. Мы находимся в процессе изменения файловой структуры и конфигурации для многих стеков Bitnami. Из-за этих изменений пути к файлам, указанные в этом руководстве, могут измениться в зависимости от того, использует ли ваш стек Bitnami собственные системные пакеты Linux (подход A) или это автономная установка (подход B). Чтобы определить тип установки Bitnami и подход, которому следует следовать, выполните следующую команду:
$ тест! -f "/opt/bitnami/common/bin/openssl" && echo "Подход A: Использование системных пакетов." || echo "Подход B: Автономная установка. "Выходные данные команды указывают, какой подход (A или B) используется при установке, и позволяют определить пути, конфигурацию и команды для использования в этом руководстве. Обратитесь к FAQ для получения дополнительной информации об этих изменениях.
Одна из наших основных целей — максимально безопасно настроить приложения Bitnami. По этой причине конфигурация в
ПРИМЕЧАНИЕ. Apache Software Foundation также рекомендует эту конфигурацию. Цитата: «Из соображений безопасности и производительности не устанавливайте AllowOverride в любое другое значение, кроме None в вашем блоке
. Вместо этого найдите (или создайте) 9Блок 0016 , который относится к каталогу, в котором вы на самом деле планируете разместить файл . htaccess ».
Подход A: Установка Bitnami с использованием системных пакетов
Понять
.htaccess файлыЕсли приложение поддерживает использование файлов .htaccess из настраиваемых расположений, содержимое этого файла можно найти в файле /opt/bitnami/apache2/conf/vhosts/htaccess/APPNAME-htaccess.conf. Например:
Файл /opt/bitnami/apache2/conf/vhosts/APPNAME-vhost.conf является основным файлом конфигурации приложения. Он также является источником файла APPNAME-htaccess.conf .
<Виртуальный хост 127.0.0.1:80 _по умолчанию_:80> Псевдоним сервера * DocumentRoot /opt/bitnami/APPNAME <Каталог "/opt/bitnami/ИМЯ ПРИЛОЖЕНИЯ"> Параметры - Индексы + FollowSymLinks - MultiViews Разрешить переопределить все Требовать все предоставленные Каталог> Включить "/opt/bitnami/apache2/conf/vhosts/htaccess/APPNAME-htaccess.conf" виртуальный хост>
Файл /opt/bitnami/apache2/conf/vhosts/htaccess/APPNAME-htaccess. \\/:*?\x22<>|%]+(#|\?|$) [без регистра] Правило перезаписи. — [запрещенный] ЕслиМодуль> Каталог> <Каталог "/opt/bitnami/APPNAME/includes"> Запретить от всех Каталог> <Каталог "/opt/bitnami/ИМЯ ПРИЛОЖЕНИЯ/языки"> Запретить от всех Каталог> <Каталог "/opt/bitnami/APPNAME/maintenance"> Запретить от всех Каталог> <Каталог "/opt/bitnami/APPNAME/maintenance/archives"> Запретить от всех Каталог> <Каталог "/opt/bitnami/APPNAME/serialized"> Запретить от всех Каталог>
Если нет, файл .htaccess можно найти по адресу /opt/bitnami/APPNAME/.htaccess .
В некоторых приложениях отсутствует файл /opt/bitnami/apache2/conf/vhosts/htaccess/APPNAME-htaccess.conf . В этих случаях файл необходимо создать вручную.
Добавить новый раздел в файл
.htaccess при установке плагинаНекоторые плагины во время установки создают файл .htaccess в каталоге /opt/bitnami/APPNAME/ или в каталоге /opt/bitnami/apps/APPNAME/plugins/ , который не может быть прочитан Apache. По этой причине мы рекомендуем переместить содержимое этого файла в файл /opt/bitnami/apache2/conf/vhosts/htaccess/APPNAME-htaccess.conf . Выполните следующие действия:
Добавьте новую запись в файл /opt/bitnami/apache2/conf/vhosts/htaccess/APPNAME-htaccess.conf , указав путь, где htaccess ( /opt/bitnami/APPNAME/ или /opt/bitnami/htdocs//plugins/ ) и вставьте ниже содержимое этого файла.
ПРИМЕЧАНИЕ. СОДЕРЖАНИЕ — это заполнитель, замените его содержимым файла /opt/bitnami/APPNAME/.htaccess , созданного подключаемым модулем.
... <Каталог "/opt/bitnami/ИМЯ ПРИЛОЖЕНИЯ"> СОДЕРЖАНИЕ Каталог>
Перезапустите Apache, чтобы изменения вступили в силу:
$ sudo /opt/bitnami/ctlscript.sh перезапустить апач
Подход B: Автономные установки Bitnami
Понять
.htaccess файлыЕсли приложение поддерживает использование файлов . htaccess из настраиваемых расположений, содержимое этого файла можно найти в файле /opt/bitnami/apps/APPNAME/conf/htaccess.conf . Например:
/opt/bitnami/apps/APPNAME/conf/httpd-app.conf — это основной файл конфигурации приложения. Он также является источником файла htaccess.conf .
<Каталог "/opt/bitnami/apps/ИМЯ ПРИЛОЖЕНИЯ/htdocs"> Параметры + Мультипросмотр Аллововеррайд <Если Версия < 2.3 > Порядок разрешить, запретить Разрешить от всех ЕслиВерсия> <ЕслиВерсия>= 2.3> Требовать все предоставленные ЕслиВерсия> Каталог> Включить "/opt/bitnami/apps/APPNAME/conf/htaccess.conf"
Файл /opt/bitnami/apps/APPNAME/conf/htaccess.conf содержит содержимое всех файлов .htaccess , необходимых приложению. Обычно это выглядит так:
<Каталог /opt/bitnami/apps/ИМЯ ПРИЛОЖЕНИЯ/htdocs/cache> Запретить от всех Каталог> <Каталог /opt/bitnami/apps/ИМЯ ПРИЛОЖЕНИЯ/htdocs/images> # Защита от ошибки 28235
RewriteEngine включен RewriteCond %{QUERY_STRING} \. \\/:*?\x22<>|%]+(#|\?|$) [без регистра] Правило перезаписи. - [запрещенный] ЕслиМодуль> Каталог> <Каталог /opt/bitnami/apps/ИМЯ ПРИЛОЖЕНИЯ/htdocs/includes> Запретить от всех Каталог> <Каталог /opt/bitnami/apps/ИМЯ ПРИЛОЖЕНИЯ/htdocs/languages> Запретить от всех Каталог> <Каталог /opt/bitnami/apps/ИМЯ ПРИЛОЖЕНИЯ/htdocs/maintenance> Запретить от всех Каталог> <Каталог /opt/bitnami/apps/ИМЯ ПРИЛОЖЕНИЯ/htdocs/maintenance/archives> Запретить от всех Каталог> <Каталог /opt/bitnami/apps/ИМЯ ПРИЛОЖЕНИЯ/htdocs/serialized> Запретить от всех Каталог>
Если нет, файл .htaccess можно найти по адресу /opt/bitnami/apps/APPNAME/htdocs/.htaccess .
Посмотрите следующее видео, чтобы узнать, как настроить файл .htaccess (в этом видео WordPress используется в качестве примера приложения):
Добавить новый раздел в файл
.htaccess при установке плагинаНекоторые подключаемые модули во время установки создают файл . htaccess либо в каталоге /opt/bitnami/apps/APPNAME/htdocs/ или в каталоге /opt/bitnami/apps/APPNAME/htdocs//plugins , который не может быть прочитан Apache. По этой причине мы рекомендуем переместить содержимое этого файла в файл /opt/bitnami/apps/APPNAME/conf/htaccess.conf . Выполните следующие действия:
Добавьте новую запись в файл /opt/bitnami/apps/APPNAME/conf/htaccess.conf , указав путь к файлу htaccess ( /opt/bitnami/apps/APPNAME/htdocs/ или /opt/bitnami/apps/ИМЯ ПРИЛОЖЕНИЯ/htdocs//плагины ) и вставить ниже содержимое этого файла.
ПРИМЕЧАНИЕ. СОДЕРЖАНИЕ — это заполнитель, замените его содержимым файла /opt/bitnami/apps/APPNAME/htdocs/.htaccess , созданного подключаемым модулем.
... <Каталог "/opt/bitnami/apps/ИМЯ ПРИЛОЖЕНИЯ/htdocs/"> СОДЕРЖАНИЕ Каталог>
Перезапустите Apache, чтобы изменения вступили в силу:
$ sudo /opt/bitnami/ctlscript. sh перезапустить апач
Как настроить перенаправление .htaccess
В этом руководстве мы обсудим файл Apache .htaccess и множество способов его изменения и настройки в соответствии с вашими конкретными потребностями. Мы рассмотрим, как настроить переадресацию, перезапись .htaccess и добавить другие настройки.
Допустим, вы решили изменить доменное имя или иметь один веб-адрес на своем сайте, который вы хотите перенаправить в совершенно другое место. Используя переадресацию .htaccess, вы можете автоматически отправлять посетителей на новую страницу или сайт!
Программное обеспечение Apache предоставляет конфигурацию на уровне каталога с именем Hypertext Access или .htaccess файл. Этот скрытый файл обычно находится в папке public_html вашего веб-сайта. Чтобы изменить его, войдите в свою учетную запись сервера по SSH и измените файл с помощью вашего любимого текстового редактора командной строки. Мы также можем сами создать файл и загрузить его на сервер с помощью FTP/SFTP или SCP. Кроме того, большинство панелей управления позволяют нам изменять файл .htaccess с помощью собственного файлового менеджера.
Примечание:
Вы всегда должны создавать резервные копии важных файлов перед их изменением. Не удаляйте существующий файл .htaccess, если он не пуст или если вы не уверены, что это можно сделать.
Файл .htaccess вашего веб-сайта может уже содержать важные настройки, которые необходимо сохранить. Если в вашем файле .htaccess есть существующие настройки, вам нужно будет добавить новый код к тому, что уже есть.
Если ваш сайт был создан для вас и вы не совсем знакомы с кодом своего сайта, вам может потребоваться помощь дизайнера или разработчика при добавлении новых настроек .htaccess.
Простые перенаправления
Перенаправление отдельной страницы
URL-адрес перенаправления сообщает серверу, что он будет отправлять этот трафик в другое место назначения. Чтобы перенаправить доменный трафик на постоянное , используйте 301 . Для временного перенаправления используйте 302 . Следующая запись отправляет всех посетителей, пытающихся перейти с test.com/old.html , на test.com/new.html .
Перенаправление 301 /old.html http://www.test.com/new.html
Перенаправление всего веб-сайта
Когда мы хотим изменить наше доменное имя, сохранив старое, одним из лучших вариантов является настройка простого перенаправления 301 из корневого каталога старого домена ( / ) на новый.
Перенаправление 301 / http://www.test.com/
Простые перезаписи
Перезаписи ( mod_rewrite ) аналогичны перенаправлениям ( mod_alias ). Они перенаправляют целевой URL-адрес или класс URL-адресов на другой URL-адрес. Однако в большинстве случаев лучше использовать mod_alias вместо директивы , потому что она проще и требует меньше настроек.
Мы должны ограничить его использование ситуациями, когда в файле .htaccess уже есть другие правила перезаписи. При наличии правил перенаправления и директив RewriteRule директивы RewriteRule имеют иерархический приоритет над правилами перенаправления, независимо от порядка появления в файле конфигурации. Есть несколько вариантов использования, в которых мы можем реализовать директивы RewriteRule.
9(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Переписать имена файлов без расширения
Мы можем перенаправить любой запрос к типам файлов в тот же файл без отображения расширение. Вы можете включить несколько расширений файлов одновременно, как в приведенном ниже примере, в котором мы перенаправляем файлы php , html и htm . Ожидаемое поведение должно измениться с https://liquidweb.com/random_page.php на https://liquidweb.com/random_page 9.(.*)$ https://liquidweb.com/blog/$1 [L,NE,R=301]
Дополнительные настройки
Пользовательские страницы ошибок
Страницы ошибок часто могут быть скучными, общими и двусмысленными. Мы можем создавать собственные страницы на нашем выделенном сервере, которые соответствуют общей теме и стилю нашего сайта и которые легче интерпретировать посетителям.
ErrorDocument 401 http://any.domain.com/how_to_get_access.html ErrorDocument 403 по умолчанию Документ об ошибке 404 /404.html ErrorDocument 500 "Это забавное сообщение об ошибке." ErrorDocument 500 /custom_file.html
Эти перенаправления можно настроить в верхней части файла .htaccess. Как показано в приведенных выше примерах, они следуют следующему шаблону:
- Директива ErrorDocument .
- Код ошибки, используемый для перенаправления (401, 404 и т. д.).
- Действие, которое необходимо выполнить. Это может быть текст, отображаемый в браузере посетителя, локальный или внешний URL-адрес или файл (например, 404.html).
Примечание:
Специальное слово «по умолчанию» используется для установки страницы ошибок веб-сервера по умолчанию.
Контент, защищенный паролем
Существует простой способ защитить паролем определенный контент через .htaccess. Нам просто нужно добавить следующий код в файл .htaccess в каталоге, который мы хотим защитить.
Тип аутентификации Базовый Имя авторизации "Защищено" AuthUserFile "/home/myuser/.htpasswds/passwd" require valid-user
Нам необходимо указать правильный путь к каталогу .htpasswds . Последним шагом будет добавление пользователей и паролей в файл passwd внутри .htpasswds . Правильная терминология для добавления пользователей: user:password .
Вы можете сгенерировать пароль здесь или из командной строки (используя алгоритм пароля на основе MD5).
$ пароль openssl -1 Пароль: mypass Подтверждение - Пароль: mypass Сгенерированный пароль: $1$UyoTN20N$WeWXiTlJE3iivdK9ToFea. $ кошка /home/мой пользователь/.htpasswds/passwd my_valid_user:$1$UyoTN20N$WeWXiTlJE3iivdK9ToFea.
Альтернативным методом создания безопасного пароля является использование 9http://(www. )?domain.com/ [nc] RewriteRule .*.(gif|jpg|png)$ http://domain.com/img/hotlink_no.png [nc]
Заключение
Мы видели несколько практических применений файла .htaccess, и есть многое другое. Однако следует отметить, что по возможности лучше использовать основные файлы конфигурации, поскольку они обеспечивают более высокую общую производительность и безопасность. Если у нас нет root-доступа к серверу, параметры модификации доступны в панели управления. Обычно это лучший способ настроить правила .htaccess для каждого каталога без особых хлопот и невероятно гибкий инструмент, позволяющий максимально использовать возможности вашей среды хостинга.
Мы можем помочь!Наши группы поддержки состоят из опытных специалистов по Linux и талантливых системных администраторов, которые хорошо разбираются в различных технологиях веб-хостинга, особенно в тех, которые обсуждаются в этой статье.
Если вы являетесь полностью управляемым сервером VPS, облачным выделенным сервером, частным облаком VMWare, частным родительским сервером, управляемым облачным сервером или владельцем выделенного сервера и вам нужна дополнительная или более конкретная информация о вашем файле .