Из этого руководства вы сможете узнать о файлах .htaccess и их функциях, а также использовать их для оптимизации своего веб-сайта. Хотя .htaccess — это всего лишь файл, он может изменять настройки сервера, позволяя вам делать множество разных вещей. Самая популярная функция — это возможность создать собственную страницу «ошибка 404». Использовать .htaccess несложно. В конечном счете, это всего лишь вопрос добавления нескольких простых инструкций в текстовый документ.
Сначала вам нужно определить, поддерживает ли это хост.
На этот вопрос может быть сложно ответить простым ответом. Многие хосты поддерживают .htaccess, но на самом деле не указывают это конкретно, а многие другие типы хостов поддерживают, но не позволяют своим пользователям использовать .htaccess. Вообще говоря, если ваш хост использует систему Unix или Linux или любую версию веб-сервера Apache, .htaccess теоретически поддерживается, хотя ваш хостинг-провайдер может не разрешить вам его использовать.
Хорошим признаком того, разрешает ли ваш хост .htaccess, является то, поддерживает ли он защиту папки паролем. Чтобы реализовать эту функцию, хостинг-провайдеру необходимо использовать .htaccess (конечно, в некоторых случаях, хотя они и обеспечивают защиту паролем, они не позволяют вам использовать .htaccess). Если вы не уверены, поддерживает ли ваш хостинг .htaccess, лучший способ — загрузить свой собственный файл .htaccess и проверить, работает ли он, или напрямую отправить электронное письмо своему поставщику услуг хостинга для консультации.
Файл .htaccess (или «файл распределенной конфигурации») в системе Apache предоставляет метод изменения конфигурации каталога, то есть размещение файла, содержащего одну или несколько директив, в определенном каталоге документов для воздействия на этот каталог и все его подкаталоги. Администраторы могут использовать команды, которые можно использовать с помощью директивы Apache AllowOverride.
Директивы в подкаталогах переопределяют директивы в каталогах более высокого уровня или в основном файле конфигурации сервера.
.htaccess должен быть загружен в режиме ASCII, желательно с разрешениями, установленными на 644.
.htaccess может делать массу вещей, в том числе: защиту папок паролем, автоматическое перенаправление пользователей, настраиваемые страницы ошибок, изменение расширений файлов, запрет пользователям определенных IP-адресов, разрешение пользователям только с определенных IP-адресов, запрещенные списки каталогов и использование другие файлы как индексные файлы.
Создание файлов .htaccess может вызвать у вас некоторые трудности. Записывать файлы несложно, нужно лишь написать соответствующий код в текстовом редакторе (например, WordPad). Реальная трудность может заключаться в сохранении файла, поскольку .htaccess имеет странное имя файла (на самом деле у него нет имени файла, только 8-буквенное расширение) и неприемлемо в некоторых системах (например, Windows 3.1). Такое имя файла. В большинстве операционных систем все, что вам нужно сделать, это сохранить документ как «.htaccess» (включая кавычки). Если это не сработает, вам нужно назвать его как-нибудь по-другому (например, htaccess.txt), загрузить его на сервер, а затем использовать программное обеспечение FTP, чтобы переименовать его напрямую.
предупреждать
Прежде чем использовать .htaccess, я должен вас предупредить. Хотя использование .htaccess на сервере вряд ли вызовет у вас какие-либо проблемы (он просто не сработает, если что-то не так), вам следует быть особенно осторожными, если вы используете расширения Microsoft FrontPage. Поскольку сами расширения FrontPage используют .htaccess, вы не можете редактировать его и добавлять свою собственную информацию. Если вам это действительно нужно (не рекомендуется, но возможно), вам следует сначала загрузить файл .htaccess с сервера (если он существует), а затем добавить перед ним свой код.
2|Конфигурация файла .httacces
Первое использование .htaccess, которое я собираюсь рассмотреть, — это пользовательские страницы ошибок. Это позволит вам иметь собственную персонализированную страницу ошибок (например, когда файл не найден), а не страницу ошибок, предоставляемую вашим поставщиком услуг. Или страниц нет. Это сделает ваш сайт более профессиональным, когда что-то пойдет не так. Вы также можете использовать сценарий для уведомления вас о возникновении ошибки (например, я использую PHP-скрипт Free Webmaster Help, чтобы автоматически отправлять мне электронное письмо, когда страница не может быть найдена).
Любой известный вам код ошибки страницы (например, 404 Страница не найдена) можно превратить в пользовательскую страницу, добавив следующий текст в файл .htaccess:
Номер ошибки ErrorDocument /file.html
Например, если у меня есть файл nofound.html в корневом каталоге, я хочу использовать его в качестве страницы ошибки 404:
ОшибкаДокумент 404 /notfound.html
Если файл находится не в корневом каталоге сайта, вам нужно указать только путь:
ErrorDocument 500 /errorpages/500.html
Вот некоторые из наиболее распространенных ошибок:
Типичные коды возврата ошибок клиентского запроса:
400 - Неверный запрос Неверный запрос
401 Требуется авторизация требует проверки
403 Запрещено
404 Не найдена Страница не найдена
405 Метод не разрешен
408 Тайм-аут запроса
411 Требуется длина контента
412 Предварительное условие не выполнено
413 Запрос объекта слишком длинный
414 URI запроса слишком длинный
415 Неподдерживаемый тип носителя
Распространенные коды возврата ошибок сервера:
500 Внутренняя ошибка сервера Внутренняя ошибка сервера
Далее все, что вам нужно сделать, это создать файл, который будет отображаться при возникновении ошибок, а затем загрузить его вместе с .htaccess.
Пользователи могут использовать .htaccess, чтобы указать собственную заранее созданную страницу напоминания об ошибках. В общем, люди могут создать специальный каталог, например, для ошибок, для размещения этих страниц. Затем добавьте следующие инструкции в .htaccess:
ОшибкаДокумент 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
Одна инструкция на строку. Смысл первой инструкции выше — для 404, то есть, когда нужный документ не найден, страница должна отображаться как страница notfound.html в каталоге /errors. Нетрудно видеть, что формат синтаксиса:
Код ошибки ErrorDocument/имя каталога/имя файла.расширение
Если запрашивается очень мало информации, нет необходимости создавать специальную страницу и использовать номер HTML непосредственно в команде, как в следующем примере:
ОшибкаДокумент 401 «У вас нет разрешения на доступ к этой странице, пожалуйста, откажитесь!»
Иногда по какой-то причине в вашем каталоге нет индексного файла, а это означает, что когда кто-то вводит путь к каталогу в адресной строке браузера, отобразятся все файлы в каталоге, что оставит след на вашем сайте. . Меньшая угроза безопасности.
Чтобы избежать этого (без необходимости создавать кучу новых индексных файлов), вы можете запретить отображение списка каталогов, введя следующую команду в вашем документе .htaccess: Параметры-Индексы
В некоторых случаях вы можете разрешить доступ к вашему веб-сайту только пользователям с определенными IP-адресами (например, разрешить вход в каталог только пользователям с определенным интернет-провайдером) или заблокировать определенные IP-адреса (например, с помощью Low пользователи -уровня не допускаются к вашей доске объявлений). Конечно, это работает только в том случае, если вы знаете IP-адрес, который хотите заблокировать, однако большинство пользователей в Интернете в наши дни используют динамические IP-адреса, поэтому это не распространенный способ ограничения использования.
Заблокировать IP-адрес можно с помощью следующей команды:
отклонить от 000.000.000.000
000.000.000.000 — это заблокированный IP-адрес. Если указать только несколько из них, можно заблокировать весь сегмент сети. Если вы введете 210.10.56., все IP-адреса от 210.10.56.0 до 210.10.56.255 будут заблокированы.
Вы можете разрешить IP-адресу доступ к веб-сайту, используя следующую команду:
разрешить от 000.000.000.000
Разрешенный IP-адрес: 000.000.000.000. Вы можете заблокировать весь сегмент сети так же, как вы блокируете IP-адрес.
Если вы хотите запретить всем доступ к каталогу, вы можете использовать:
отрицать от всех
Однако это не влияет на использование сценарием документов в этом каталоге.
Изменить файл домашней страницы по умолчанию
Обычно имена файлов домашней страницы по умолчанию включают default, index и т. д. Однако иногда в каталоге нет файла по умолчанию, а есть конкретное имя файла, например w3sky.PHP в w3sky. В этом случае пользователю сложно запомнить имя файла для доступа к нему. Новые имена файлов по умолчанию можно легко установить в .htaccess:
DirectoryIndex новое имя файла по умолчанию
Также можно указать несколько списков, в порядке, указывающем приоритет между ними, например:
DirectoryIndex имя_файла.html index.cgi index.pl default.htm
Возможно, вы не хотите продолжать использовать index.htm или index.html в качестве индексного файла каталога. Например, если ваш сайт использует файлы PHP, вы можете использовать index.PHP в качестве индексного документа каталога. Конечно, вам не обязательно ограничиваться «индексным» документом. Если хотите, используя .htaccess, вы даже можете установить foofoo.balh в качестве индексного документа!
Эти взаимозаменяющие индексные файлы можно расположить в виде списка, и сервер будет выполнять поиск слева направо, чтобы проверить, какой документ существует в реальном каталоге. Если ничего не найдено, будет отображен список каталогов (если вы не отключили показ списков файлов каталога).
DirectoryIndex index.PHP index.PHP3 messagebrd.pl index.html index.htm
Одна из наиболее полезных функций .htaccess — перенаправление запросов к различным документам внутри или за пределами одного сайта. Это чрезвычайно полезно, когда вы меняете имя файла, но по-прежнему хотите, чтобы пользователи получали к нему доступ по старому адресу. Другое приложение (которое я считаю полезным) перенаправляет на длинный URL-адрес. Например, в моем информационном бюллетене я могу использовать очень короткий URL-адрес, чтобы указать на мою партнерскую ссылку. Вот пример файла перенаправления:
Перенаправить /location/from/root/file.ext
http://www.w3sky.com/new/file/123.html
В приведенном выше примере для доступа к файлу с именем oldfile.html в корневом каталоге введите:
/oldfile.html
Чтобы получить доступ к файлам в старом подкаталоге, введите:
/old/oldfile.html
Вы также можете использовать .htaccess для перенаправления целых каталогов веб-сайта. Если на вашем веб-сайте есть каталог с именем olddirectory и вы создали тот же документ, что и выше, на новом веб-сайте http://www.w3sky.com/newdirectory/ , вы можете скопировать все файлы в старый каталог. Выполните перенаправление. без необходимости объявлять их один за другим:
Перенаправление /olddirectory http://www.w3sky.com/newdirectory
Таким образом, любые запросы, направленные в каталог /olddirectory на сайте, будут перенаправляться на новый сайт, включая добавленную дополнительную информацию URL-адреса. Например, кто-то вводит:
Запросы будут перенаправлены на:
Эта функция чрезвычайно эффективна, если ее правильно использовать.
Мы можем изменить дизайн веб-сайта, переместить документы или изменить каталог. В настоящее время посещения из поисковых систем или ссылки с других веб-сайтов могут пойти не так. В этом случае вы можете использовать следующую команду для автоматического перенаправления старого URL-адреса на новый адрес:
Перенаправление /старый каталог/имя старого документа адрес нового документа
Или перенаправьте весь каталог:
Перенаправить старый каталог в новый каталог
Несмотря на то, что .htaccess существует по-разному, наиболее популярным и, вероятно, самым полезным является использование его для надежной защиты паролем каталогов веб-сайтов. Хотя JavaScript и другие тоже могут это сделать, только .htaccess обладает идеальной безопасностью (т. е. посетители должны знать пароль, прежде чем они смогут получить доступ к каталогу, и здесь нет «черного хода»).
Использование .htaccess для защиты каталога паролем представляет собой двухэтапный процесс. Первый шаг — добавить соответствующие строки кода в документ .htaccess, а затем поместить документ .htaccess в каталог, который вы хотите защитить:
AuthName «Имя раздела»
Тип аутентификации Базовый
AuthUserFile /full/path/to/.htpasswd
Требовать действительного пользователя
Возможно, вам придется изменить некоторые части вышеуказанного контента в зависимости от вашего веб-сайта, например заменить «Название раздела» на имя защищенного раздела «Личный кабинет».
/full/parth/to/.htpasswd следует заменить полным путем к серверу, указывающим на файл .htpasswd (подробнее об этом документе позже). Если вы не знаете полный путь к своему веб-пространству, обратитесь к системному администратору.
Защита каталогов паролем более проблематична, чем другие функции .htaccess, поскольку для доступа к вашему веб-сайту также необходимо создать документ, содержащий имя пользователя и пароль, а соответствующая информация (по умолчанию) находится в документе с именем .htpasswd. Как и .htaccess, .htpasswd — это документ без имени файла и с 8-битным расширением, который можно разместить в любом месте вашего веб-сайта (пароль на этом этапе должен быть зашифрован), но рекомендуется сохранять его вне корневого каталога веб-сайта. каталог вашего веб-сайта, чтобы к нему нельзя было получить доступ через сеть. 1516501417
При использовании .htaccess для защиты каталога паролем он содержит путь к файлу паролей. В целях безопасности необходимо защитить .htaccess, чтобы другие не могли видеть его содержимое. Хотя это можно сделать и другими способами, например разрешениями на документ. Однако сам .htaccess тоже может это сделать, просто добавьте следующие инструкции: 1516501417
порядок разрешить, запретить
отрицать от всех
Чтобы использовать .htaccess для установки пользователей доступа и соответствующих паролей для документов в каталоге, первое, что нужно сделать, — это сгенерировать текстовый документ .htpasswd, например:
кузница:y4E7Ec8e7EwV
Пароль здесь зашифрован, и пользователи могут найти некоторые инструменты для шифрования пароля в кодировке, поддерживаемой .htaccess. Лучше не размещать этот документ в каталоге www. Рекомендуется размещать его за пределами документа корневого каталога www, что безопаснее.
С помощью авторизованного пользовательского документа вы можете добавить в .htaccess следующие инструкции:
Каталог сервера для AuthUserFile .htpasswd
AuthGroupFile /dev/null (каталог, требующий авторизованного доступа)
Имя_аутентификатора EnterПароль
AuthType Basic (тип авторизации)
require user wsabstract (пользователям разрешен доступ; если вы хотите, чтобы все пользователи в таблице были разрешены, вы можете использовать require valid-user)
Обратите внимание, в скобках указаны комментарии, которые вы добавили при изучении.
Запретить доступ с IP
Если я не хочу, чтобы определенное правительственное ведомство имело доступ к содержимому моего сайта, я могу исключить его, добавив IP-адрес ведомства в .htaccess.
Например:
порядок разрешить, запретить
отказать от 210.10.56.32
отказать от 219.5.45.
разрешить от всех
Вторая строка запрещает определенный IP-адрес, а третья строка запрещает определенный диапазон IP-адресов, то есть 219.5.45.0 ~ 219.2.45.255.
Хотите отвергнуть всех? Просто используйте Deny from all. Для его установки можно использовать не только IP, но и доменное имя.
После создания документа .htpasswd (который можно создать с помощью текстового редактора) следующим шагом будет ввод имени пользователя и пароля, используемых для доступа к веб-сайту, которые должны быть:
имя пользователя:пароль
Позицией «пароль» должен быть зашифрованный пароль. Вы можете получить зашифрованные пароли несколькими способами: один — использовать готовый сценарий, доступный в Интернете, или написать его самостоятельно; другой хороший сервис шифрования имени пользователя и пароля — через веб-сайт KxS, который позволяет вам ввести свое имя пользователя и пароль, а затем сгенерировать его. правильно отформатированный пароль.
Для нескольких пользователей вам нужно только добавить новую строку того же формата в документ .htpasswd. Кроме того, существует несколько бесплатных программ-скриптов, которые могут легко управлять файлами .htpasswd, автоматически добавлять/удалять пользователей и т. д.
Когда вы попытаетесь получить доступ к каталогу, защищенному паролем .htaccess, ваш браузер откроет стандартное диалоговое окно имени пользователя и пароля. Если вам не нравится этот метод, некоторые скрипты позволяют встроить поля ввода имени пользователя и пароля на страницу для аутентификации. Вы также можете ввести имя пользователя и пароль (в незашифрованном виде) в поле URL-адреса браузера следующим образом:
http://имя пользователя:пароль@ www.w3sky.com/directory/
Если вы не хотите, чтобы другие размещали ссылки на свои изображения и документы на своих веб-страницах, вы также можете сделать это с помощью команды htaccess.
Необходимые инструкции следующие:
Переписать движок на
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$ - [F]
Если вы считаете, что открывать окно на чужой странице — это нехорошо, вы можете вместо этого использовать изображение:
Переписать движок на
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$ http://www.w3sky.com/Заменить имя файла изображения [R,L]
Этот метод предназначен для перенаправления всего трафика yourdomain.com на www.yourdomain.com (или наоборот). Фактически, некоторые люди за рубежом считают, что этот метод не способствует повышению PageRank. Я думаю, это потому, что они увидели, что в инструментах администратора Google есть инструмент предпочтительного домена, который может указать сканерам Google использовать www.yourdomain.com или yourdomain.com в качестве предпочтительного домена для сканирования и ранжирования, и перенаправление кажется ненужным. Но многие люди действительно подтвердили, что это эффективно. В любом случае, никто не сказал, что этот метод нанесет какой-либо ущерб SEO или рейтингу страниц.
Пропишите в .htaccess:
Опции +FollowSymlinks Все -Индексы
перезаписать Двигатель включен
переписатьBase/
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^(.*)$ http://www.domain.com/ $1 [R=301,L]
Принудительное удаление 3w
Ниже приведен пример WordPress. В других ситуациях вы можете обратиться к нему и решить проблему самостоятельно. Обычно в вашем каталоге WordPress есть файл .htaccess. Если нет, создайте его вручную. Если вы настроили постоянную ссылку, содержимое .htaccess будет следующим:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Не будем беспокоиться о том, что конкретно это означает, просто добавим ниже строку RewriteBase/:
RewriteCond %{HTTP_HOST} ^ www.yourdomain.tld $ [NC]
RewriteRule ^(.*)$ http://yourdomain.tld/ $1 [R=301,L]
И все готово. Конечно, замените yourdomain.tld своим собственным доменным именем. Две приведенные выше строки означают перезапись формы www.yourdomain.tld в yourdomain.tld и постоянное перенаправление всех ссылок, ведущих к первой, на вторую.
Обязательно добавьте www перед именем домена.
Если вы действительно настаиваете на добавлении www вперед, мои слова будут напрасны, и я выражаю свои сожаления. Но вы можете. Просто измените две строки кода, добавленные выше, на это:
RewriteCond %{HTTP_HOST} ^yourdomain.tld$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.tld/ $1 [R=301,L]
.htaccess — это мощный инструмент, который могут использовать администраторы сайтов. Он имеет больше вариантов для различных целей, что позволяет экономить время и повышать безопасность веб-сайта.
Специальные инструкции для .htaccess
* Чтобы включить .htaccess, вам необходимо изменить httpd.conf, включить AllowOverride и использовать AllowOverride, чтобы ограничить использование определенных команд.
* Если вам нужно использовать имя файла, отличное от .htaccess, вы можете использовать директиву AccessFileName, чтобы изменить его. Например, если вам нужно использовать .config, вы можете настроить его в файле конфигурации сервера следующим образом:
ИмяФайлаДоступа.config
* Как правило, файлы .htaccess не следует использовать, если у вас нет доступа к основному файлу конфигурации. Существует очень распространенное заблуждение, что аутентификацию пользователя можно выполнить только с помощью файлов .htaccess. На самом деле это не так. Это вполне осуществимый и хороший способ записать аутентификацию пользователя в основной файл конфигурации. Файлы .htaccess следует использовать в ситуациях, когда поставщику контента необходимо изменить конфигурацию сервера для определенного каталога без привилегий root. Если администратор сервера не желает часто изменять конфигурацию, он или она может разрешить пользователям самостоятельно изменять конфигурацию через файл .htaccess, особенно если интернет-провайдер запускает несколько пользовательских сайтов на одном компьютере и надеется, что пользователи смогут изменить конфигурацию самостоятельно. . Тем не менее, по возможности следует избегать использования файлов .htaccess. Любую конфигурацию, которую вы хотите поместить в файл .htaccess, можно разместить в разделе <Directory> основного файла конфигурации, и это более эффективно. Есть две основные причины избегать использования файлов .htaccess: производительность и безопасность.
Прикреплено: подключение инструмента .htaccess.
Онлайн-генератор файлов .htaccess
http://cooletips.de/htaccess/
Возможность генерировать файлы .htaccess онлайн, очень просто настроить перенаправление, файлы системных ошибок и т. д.
Онлайн-редактор редактора .htaccess
Настраиваемая кодировка по умолчанию, страницы ошибок и т. д.