Руководство для начинающих по .htaccess
Опубликовано: 2023-10-25.htaccess – страшное слово, которое время от времени слышал каждый владелец веб-сайта. Хотя само название кажется слишком техническим для понимания, это мощный инструмент, который нужно иметь в своем арсенале. Поняв, что такое .htaccess, как он работает и возможные варианты использования, вы сможете легко и просто делать с ним более чем достаточно вещей. Давайте углубимся в то, что это такое, как вы можете использовать его в своих интересах, и получим наиболее полезные примеры и объяснения наиболее распространенных вариантов использования .htaccess!
Что такое .htaccess?
Сокращенно от «гипертекстового доступа», .htaccess — это файл конфигурации, который может помочь вам в управлении программным обеспечением веб-сервера Apache. Вы можете создать файл .htaccess и добавить его в каталог, чтобы он загружался и позднее выполнялся веб-сервером Apache.
Проще говоря, вы можете использовать этот файл для включения или отключения любых функций, которые может предложить веб-сервер. Начиная с базового перенаправления или предотвращения хотлинков, вы получаете множество преимуществ при работе с .htaccess.
Как выглядит файл .htaccess?
Файл .htaccess — это то, что вы из него делаете. Он мог содержать как одну строку, так и несколько, в зависимости от назначения файла. В файле можно написать множество вещей, чтобы сделать так много всего; некоторые примеры вы найдете, читая дальше.
У меня уже есть такой?
В большинстве случаев, если у вас есть веб-сайт, скорее всего, у вас уже есть файл .htaccess. Обычно вы можете найти его в корневой папке вашего сайта. Просто зайдите в папку, содержащую все содержимое вашего веб-сайта, и найдите папку Public_HTML или папку с именем www. Если у вас есть подкаталоги для нескольких сайтов, вы найдете по одному в каждом подкаталоге.
Если вам не удалось его найти, не волнуйтесь. Это не значит, что у вас его нет – его просто можно спрятать. Обычно это происходит с файлами, начинающимися с точки, как это происходит с .htaccess. По умолчанию их обычно нелегко обнаружить.
Просто зайдите в файловый менеджер или FTP-клиент и найдите опцию «показать скрытые файлы». Не оставляйте без внимания ни один параметр, особенно «Настройки», «Настройки» или «Параметры».
Кажется, у меня его нет.
Тем не менее, не стоит беспокоиться, потому что вы можете легко его создать. Вам понадобится обычный текстовый редактор и немного внимания к деталям. Например, вы можете использовать Microsoft WordPad или TextPad. Однако самое сложное — правильно назвать и сохранить файл .htaccess.
Во-первых, вам нужно сохранить его в нужном формате. Он должен быть в формате ASCII, поэтому не поддавайтесь искушению сохранить его как UTF-8 или любой другой формат.
Во-вторых, убедитесь, что он называется .htaccess. Звучит довольно просто, но на самом деле именно здесь в игру вступает внимание к деталям. Вы должны убедиться, что точка в начале сохранена. Следующий шаг — убедиться, что вы не включили никаких расширений файлов. Сохранение его как «htaccess.txt» не приведет к завершению. Добавьте точку и удалите расширение!
Наконец, вы хотите загрузить его в соответствующий каталог. Вы можете вернуться к руководству и сохранить его в одном из каталогов, упомянутых выше. Для этого вы можете использовать FTP или любой другой файловый менеджер на основе браузера, который вам удобен.
Что я могу сделать с .htaccess?
С помощью .htaccess можно добиться множества целей, если знать, как это сделать. Вот некоторые из них:
Обработка ошибок
Первое и одно из самых простых того, что вы можете сделать с помощью .htaccess, — это убедиться, что ваши посетители видят дружелюбное и индивидуальное сообщение об ошибке, а не пугающее.
Сначала вам нужно создать HTML-документ. Рекомендуется содержать описание ошибки, например «Не найден» для ошибок 404 или «Плохой шлюз» для ошибок 502. Хотя на самом деле вы можете отображать любой контент, который захотите.
Вам также следует правильно назвать его, чтобы знать, что это за документ. Если он обрабатывает ошибку 404, обычно ее сохраняют как 404.html. Вы также хотите сохранить его в каталоге error_pages, в котором должны храниться все документы об ошибках.
Как только все будет готово, вам следует открыть файл .htaccess в предпочитаемом редакторе и ввести что-то вроде этого:
ОшибкаДокумент 404 /error_pages/404.html
Эта строка сообщит серверу вашего веб-сайта отображать указанный документ при возникновении ошибки 404. Вы также можете повторить этот процесс с любыми документами об ошибках, которые захотите, чтобы ваши посетители не расстраивались из-за слишком простого и общего сообщения, которое они обычно получают.
Простые перенаправления
Хотя WordPress может иметь множество плагинов, которые сделают это за вас, вы также можете перенаправлять посетителей с помощью файла .htaccess. Перевести посетителей на указанную вами страницу вместо той, которую они просили, — еще одна простая задача. Введя еще одну строку в файл, вы можете перенаправить посетителей либо в другое место вашего веб-сайта, либо даже на другой веб-сайт.
Чтобы перенаправить их, вот пример того, что вы можете добавить в файл .htaccess. Конечно, вам следует немного отредактировать его в соответствии с вашими потребностями.
Перенаправление /old_dir/ http://www.yourdomain.com/new_dir/index.html
Давайте объясним это, чтобы вы знали, как это настроить, чтобы ваши посетители попадали туда, куда вы хотите.
Во-первых, каким будет /old_dir/? Это каталог или документ, расположенный в вашем домене, или, точнее, он будет расположен по адресу «http://www.yourdomain.com/old_dir/». Это точка, к которой ваши посетители попытаются получить доступ. Остальная часть файла указывает, где они должны оказаться. В этом случае они окажутся на индексной странице /new_dir/ вашего сайта.
Как видите, в отличие от начальной точки, страница, на которую вы хотите, чтобы ваши пользователи попадали, представляет собой полный URL-адрес. Это помогает при перенаправлении на другой домен, так как вы можете использовать любой URL и добавить его вместо того, что в примере. Раз плюнуть, не так ли?
Защита паролем
Если вы хотите создать сообщество вокруг своего веб-сайта, предложить личный кабинет и пригласить посетителей войти в систему может быть просто трюком. Хотя сообщество — это отличная вещь для ваших маркетинговых усилий и продаж, оно также может помочь в формировании представления о том, кто ваши пользователи, а также в сборе столь необходимой информации о ваших клиентах.
Если вы соответствуете требованиям GDPR, вы можете использовать этот хитрый трюк, чтобы редактировать свое предложение на основе собранной вами информации и, в конечном итоге, продавать больше!
Как защитить паролем?
Возможность добавить пароль к чему-либо на вашем веб-сайте — наиболее распространенный способ использования файлов .htaccess. Это также довольно просто сделать, и тем не менее вы можете защитить паролем один или несколько каталогов. Это приведет к тому, что у пользователей будет действительное имя пользователя и пароль для доступа к нему, что может быть весьма полезно в различных ситуациях.
Если вы настроите защиту паролем для каталогов, процедура входа в систему будет довольно простой, и ваш веб-браузер выполнит ее автоматически. Он будет отображаться как всплывающий интерфейс браузера. Пароли также зашифрованы, поэтому учетные данные для входа также будут в безопасности.
Если вы знаете, какой каталог хотите защитить паролем, создайте файл .htaccess. Имейте в виду, что все подкаталоги также будут защищены паролем! Здесь также применяются те же правила, но вы хотели бы включить следующее:
AuthName «Имя участника»
AuthUserFile /путь/к/паролю/файлу/.htpasswd
Тип аутентификации Базовый
требуется действительный пользователь
Давайте разберем его, чтобы вы знали, как изменить его в случае необходимости. В первой строке этого файла .htaccess указывается имя каталога, который вы хотите защитить. В данном случае это каталог «Имя участника», но вам следует изменить его, чтобы оно соответствовало имени каталога, который должен находиться под паролем.
Вторая строка указывает файл паролей или, точнее, место, где сервер может найти файл паролей. Третий — тип авторизации, который вы используете. В примере это базовая аутентификация HTTP.
Последняя строка обозначает требования для входа в систему. В этом примере требуются действительные учетные данные для входа. Здесь вы можете указать, что должно быть действительным, в зависимости от того, что вы пытаетесь защитить паролем.
Файл паролей
Теперь вам нужно выяснить файл паролей. Хотя он может находиться где угодно на вашем веб-сервере, рекомендуется располагать файл паролей в том же каталоге, что и файл .htaccess. Это связано с тем, что некоторые серверы требуют этой настройки. Во второй строке вы должны указать полный путь к каталогу, в котором находится файл паролей.
Конечно, это также означает, что у вас должен быть готов файл паролей. В примере он называется .htpasswd, но вы можете называть его как угодно. Тем не менее, если вы назовете его одинаково, хорошая новость заключается в том, что сервер распознает это имя файла и автоматически скроет его от посетителей. Файл паролей должен содержать что-то вроде:
имя пользователя: зашифрованныйпароль
john_smith:oCF9Pam/MXJg2
Запретить доступ посетителям
Даже на веб-сайтах есть персоны-нон-грата. Используя правильный файл .htaccess, вы можете ограничить чей-либо доступ. Или, с другой стороны, разрешить конкретный доступ конкретному посетителю. Первый весьма полезен, если вы хотите защитить свой веб-сайт, а второй идеален, если вы хотите иметь полный контроль над конкретным аспектом вашего сайта.
Запретить доступ посетителям можно двумя способами. Запретите доступ вашим посетителям в зависимости от их IP-адреса или вы можете сделать выбор на основе реферера.
Отказ по IP
Если вы хотите внести какой-либо IP-адрес в черный список, вы можете сделать это без особых усилий с помощью вашего файла .htaccess. Создайте новый, следуя тем же правилам, а затем добавьте следующий текст.
порядок разрешить, запретить
отклонить от XXX.XXX
отказать от XXX.XX.X.
разрешить от всех
Конечно, вам следует заменить X на IP-адрес, который вы хотите заблокировать. Добавьте столько, сколько вам нужно, и этот файл сообщит веб-серверу, что эти IP-адреса не приветствуются на вашем сайте. Обязательно добавьте параметр «Разрешить для всех», так как эта строка означает, что другие посетители будут более чем приветствоваться на вашем сайте.
С другой стороны, если вы хотите быть единственным, у кого есть доступ, вместо этого вам следует включить следующий текст:
порядок разрешить, запретить
разрешить из XXX.0.0.0
отрицать от всех
Конечно, вам следует заменить X на свой собственный IP-адрес. Этот сообщит серверу, что только вы должны иметь доступ к определенному месту.
Отказ по рефереру
Просматривая свои журналы, вы замечаете подозрительную активность. Почему бы вам просто не добавить реферера в черный список и не беспокоиться? Вот как это можно сделать с помощью .htaccess.
Просто создайте файл, как обычно. Ввод должен выглядеть так:
Переписать движок на
# Опции +FollowSymlinks
RewriteCond %{HTTP_REFERER} другойдомен\.com [NC]
RewriteRule .* – [F]
Это должно сработать! Однако вам следует проверить, включен ли «mod_rewrite» на вашем сервере, поскольку он может быть отключен из-за того, что он может предъявлять довольно большие требования к ресурсам. Если это так, вам следует проверить это у своего хостинг-провайдера.
По сути, эти строки сообщают серверу, что никто из другого домена\.com не приветствуется на вашем сайте. Конечно, вместо этого вам следует добавить сюда соответствующий домен. Часть «[NC]» в конце также очень важна, поскольку она дает понять, что указанное вами доменное имя не чувствительно к регистру. Это означает, что «OtherDomain» также запрещен.
Если вы хотите заблокировать нескольких нарушителей спокойствия, добавьте вместо этого «[NC,OR]», а затем просто добавьте еще одного таким же образом:
RewriteCond %{HTTP_REFERER} другойдомен\.com
Вы можете продолжать делать это до тех пор, пока не будете довольны, но не забудьте добавить «[NC,OR]» в конце каждого из них, кроме последнего.
Как запретить плохим ботам сканировать ваш сайт
Еще одна веская причина использовать .htaccess — предотвратить доступ сканеров на ваш сайт. Есть безобидные программы, которые загружают весь контент для просмотра в автономном режиме, но есть и те, которые имеют вредоносные намерения. А именно, Интернет наполнен плохими ботами, которые ищут адреса электронной почты, чтобы заполнить их спамом, дырами в безопасности или просто источником контента.
Хотя это немного сложнее, чем предыдущие примеры, вам обязательно стоит попробовать. Так или иначе, необходимо предотвратить причинение вам вреда этими плохими ботами.
Просто создайте еще один файл .htaccess, как вы это делали в предыдущих примерах. То, что вам нужно будет написать в нем, похоже на это:
Перезаписать двигатель включен
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [ИЛИ]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot
RewriteRule ^.* – [F,L]
На самом деле список должен быть намного длиннее, поскольку в него должны войти все известные летучие боты. Такой список вы можете найти здесь. Чем больше их вы включите, тем лучше.
Тем не менее, обязательно переименуйте его — используйте имя бота вместо BlackWidow или SuperBot. Всегда добавляйте [OR] в конце каждого, но не используйте его с последним. Вуаля! Ваш сайт свободен от всех этих вредоносных сканеров!
Есть ли еще?
Есть конечно. Как уже было сказано, в конце концов, это руководство для начинающих. С файлами .htaccess можно выполнять множество дополнительных действий.
Например, вы можете использовать файлы .htaccess для установки часового пояса сервера или изменения его подписи. Если ваш веб-сайт в значительной степени зависит от мультимедиа, вы можете использовать его, чтобы убедиться, что все медиафайлы загружаются, а не воспроизводятся. Или вы можете использовать его для предотвращения запросов, содержащих недопустимые символы, и многого другого.
Хотя даже попытка написать .htaccess — это проблема, использовать его, как видите, проще простого, хотя с его помощью можно добиться очень многого!
При создании и редактировании файла вам следует помнить о том, чтобы тщательно протестировать его после внесения каких-либо изменений, прежде чем запускать его в эксплуатацию. Вы же не хотите сообщать своим пользователям о внутренней ошибке сервера 500, не так ли?
Последний совет
Даже если что-то не работает должным образом, не расстраивайтесь слишком сильно. Проверьте наличие опечаток, обычно это помогает! Если это не так, проверьте форумы поддержки!