Правильный файл htaccess
Во время настройки сервера важно создать правильный файл конфигураций htaccess. Для каждого сайта этот файл будет выглядеть по-своему, но в целом есть примеры документа htaccess, которые подходят для множества веб-ресурсов. Все зависит от директив этого файла, а также от их последовательности. Именно о них и пойдет речь в данной статье — вы узнаете рабочие примеры файла htaccess, а также о том, как они помогут вашему сайту стать лучше.
Содержание
Почему настройка файла htaccess так важна для сайта
Файл htaccess — это не просто стандартный конфигурационный документ. По умолчанию, на сервере может и не быть файла htaccess. Он нужен не для основных, а для настройки дополнительных параметров хостов Apache. Кроме того, он хорошо подходит для изменения конфигураций отдельных страниц, то есть каталогов на сервере.
Примеры использования файла htaccess касаются многих сфер деятельности веб-ресурса. С одной стороны, вы сможете использовать его для защиты отдельных папок и файлов, с другой стороны, для оптимизации веб-ресурса. В любом случае ваш сайт не будет в проигрыше, если вы поместите на сервер файл конфигураций. Вам нужно будет лишь выбрать подходящий пример настроек и изменить его, чтобы он подходил под ваш проект.
Обратите внимание на расположение файла конфигураций. Если поместить этот файл в корневом каталоге сервера, то он будет считаться основным.
Функции этого файла распространяются на все остальные каталоги. Но если в какой-либо папке имеется свой файл htaccess, то в этом каталоге будут действовать его директивы, а не опции основного документа. Действие этого файла htaccess будет распространяться и на внутренние директории.
Примеры настроек файла htaccess
Стандартный файл конфигураций практически обязательно должен содержать директивы для защиты каталогов и файлов. Вам следует поместить в основной и все остальные документы htaccess строку Options -Indexes. Она нужна для того, чтобы запретить листинг каталогов. То есть пользователи не смогут видеть файлы внутри папок на сервере, а значит они будут в целостности и сохранности.
С другой стороны, вам следует защитить картинки и прочие статические файлы сайта от хотлинков. Файл htaccess позволяет создавать различные переадресации при помощи модуля mod_rewrite. При помощи этого же модуля вы сможете заблокировать хотлинки. Это когда вместо того, чтобы загружать файл к себе на сервер, другие вебмастера оставляют ссылки на файл, размещенный у вас на сайте. В результате, нагрузка на сайт увеличивается, и скорость его загрузки падает. Примеры блокировки хотлинков вы сможете найти в Интернете и на форумах.
В списке самых первых директив стоит указать функциональные строки, которые будут определять канонические ссылки для сайта. То есть вам нужно прописать директивы, которые будут склеивать зеркала. Примеры таких зеркал — это домен с WWW и без, а также главная страница с index.php и без указания этого файла. Документ конфигураций htaccess эффективно борется с подобными двоякими проблемами. Вам необходимо будет наполнить файл директивами RewriteEngine, RewriteCond и RewriteRule, которые нужны для активации переадресации.
Если планируете склеить зеркала или сменить домен, то вам понадобятся редиректы. Их можно записывать как отдельные директивы, либо указывать в квадратных скобках после RewriteRule. Редиректы — это правила переадресации, которые нужны для того, чтобы объяснить ваш переезд поисковым роботам. Если планируете склеить зеркало с WWW и без, то указывайте редирект 301. Он нужен для тех случаев, когда ссылки переезжают навсегда. А если планируете активировать временное преобразование URL на сайте, к примеру, чтобы продемонстрировать пользователям новый пост, то указывайте 302 редирект, который не передает вес ссылки, но и не удаляет старые страницы с поисковой выдачи.
Примеры использования файла htaccess также включают применение этого документа для коррекции ссылок. Иногда случается так, что в ссылках появляются двойные слеши. На индексацию ресурса это влияет не сильно, но иногда свой эффект может оказать. Вот пример того, как можно убрать удвоение слешей из ссылок:
- RewriteCond %{THE_REQUEST} // — условие переадресации, которое говорит о наличии двух слешей.
- RewriteRule .* /$0 [R=301,L] — правило переадресации ссылки на URL с одним слешем. В квадратных скобках указан редирект 301, чтобы пояснить поисковикам, что это перманентный переезд.
Подобным образом вам нужно будет убрать слеши из ссылок, которые ведут к статичным файлам. И чтобы не путать пользователей и поисковые системы, слеш нужно будет добавить в конце ссылки, которая не ведет к статичному файлу, но и не заканчивается символом «/».
Еще одна важная опция, которая не касается ссылок, но причастна к определению протокола доступа к сайту — это перенаправление https на http. Дело в том, что не все сервера поддерживают SSL-сертификаты. И хоть такое подключение считается более безопасным, в случае отсутствия поддержки https на сайте, он будет загружаться неправильно. У некоторых полностью пропадает дизайн, а у других смещаются строчки с текстом и меняется шрифт. Пользователи не поймут, если увидят ваш сайт в таком виде. Потому перенаправьте ссылки. Вот пример такого правила:
- RewriteCond %{HTTPS} on — условие перенаправление https-протоколов.
- RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} — правило перенаправления на указанное доменное имя.
В качестве оптимизации ресурс через файл htaccess можете активировать кэширование. Особенность настройки кэша браузера через этот файл в том, что вам не придется активировать одинаковое кэширование для всех страниц и объектов на сайте. Вы сможете настроить для каждого типа файла и документа свой индивидуальный период кэширования. Заключать директиву кэширования необходимо между тегами . Также сразу после открытия этих тег вам нужно указать директиву активации модуля mod_expires: ExpiresActive on. А чтобы указать индивидуальный период, нужно прописать тип файла, а также его формат. Вот как будет выглядеть активация кэша для jpeg-изображений на 3 дня: ExpiresByType image/jpeg «access plus 3 day». Но лучше для подобных статических файлов указывать более длительный период (от месяца до года).
Файл htaccess поможет вам привлечь больше трафика на сайт, а точнее уменьшить его потери. Как известно, чем больше веб-ресурс, тем больше в Интернете неправильных его ссылок, которые ведут на страницы с ошибками. При помощи файла htaccess вы сможете настроить собственные страницы ошибок. В них вы можете написать все, что угодно, но лучше сделать так, чтобы после их посещения пользователи захотели остаться у вас на сайте. К примеру, можете активировать на таких страницах переадресацию на главную. Либо добавить на них строку поиска по материалам сайта. Чтобы указать путь к новым страницам с ошибками, используйте директиву ErrorDocument.
Возможно, вам также понадобится функция htaccess для указания кодировок, с которыми работает сервер или текущий каталог. Дело в том, что некоторые браузеры могут открыть ваш сайт в неправильной кодировке. В результате, они получат вместо понятного текста набор несвязных символов и букв. Если вы укажите кодировку по умолчанию при помощи директивы AddDefaultCharset, такого никогда не случится. А помимо этого, вы можете создать отдельные каталоги, и указать в них другие кодировки в файле htaccess. Это нужно для того, чтобы сделать версию сайта на другом языке, который предполагает использование иной кодировки.
Стоит также отметить возможность htaccess блокировать доступ к файлам и папкам. Не все используют подобные опции, но бывает всякое, и возможно, вам понадобится эта функция. Для этого используйте директивы Deny и Allow. А чтобы заблокировать доступ к определенным файлам, указывайте их название в тегах . При помощи директив Deny from и Allow from вы сможете создавать исключения для указанных IP-адресов. Именно таким образом можно сформировать у себя на сайте платную подписку к некоторым разделам ресурса. Тем более, вы можете блокировать доступ не только по IP, но и создавать парольную аутентификацию как для целых каталогов, так и для отдельных файлов.
Изучайте синтаксис и директивы — и найдете еще больше полезных функций в файле htaccess!