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

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

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

Это не так страшно как кажется на первый взгляд, тем более Вы всегда можете восстановить свой блог из бэкапа базы данных. 

Большинство систем управления сайтом создают файл .htaccess автоматически, найти его можно в директории вашего сайта.

Вот как например у меня:

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

Но его может и не быть, тогда нужно создать.

Сделать это очень просто:

Открыть блокнот. (Рекомендую скачать и установить блокнот notepad ++) 

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

Далее мы будем записывать код в блокнот (сначала прочитайте статью, потом выберете правила которые вам больше всего подходят, применять все необязательно). 

Сразу сохраним документ и дадим ему название .htaccess. Теперь закидывайте его в корень Вашего сайта. Вот и все.

Настройка сайта через файл .htaccess

И так поехали: 

  1. Это установки по умолчанию главной страницы; 

DirectoryIndex pagename.html 

2.Страницы ошибок (error) 

ErrorDocument 403 /403.php

ErrorDocument 404 /404.php

ErrorDocument 500 /500.php 

Название, то есть адрес страницы может выглядеть иначе, например: / error/page404.html. 

Защищаем блог от хотлинка: 

Что такое хотлинг – расскажу на примере. Например Вы написали статью и вставили в нее картинки, не секрет, что есть люди которые тырят статьи с сайтов, это не очень хорошо, но ничего не поделаещь.

Но, воруя статьи, они еще берут картинки и не просто сохраняют их к себе на компьютер, а потом добавляют на сайт, таким образом воруны пользуются вашим сервером, скопировав URL код картинки и вставив к себе на сайт, из-за этого идет большая нагрузка на Ваш сервер.

Чтобы это нам предотвратить вставьте этот код в файл .htaccess: 

RewriteEngine on 

RewriteCond %{HTTP_REFERER} !^$ 

RewriteCond %{HTTP_REFERER} !^

 RewriteRule \.(gif|jpg|js|css)$ — [F] 

Vash_site.com — поменяйте на свой сайт. 

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

RewriteRule \.(jpg|png|gif)$ [NC,R,L] 

Заставляем сохранять файл вместо его открытия: 

Бывает так, посетитель заходит к Вам на сайт и смотрит файлы онлайн, так вот если хотите, чтобы посетитель сохранял файл, то пишите в .htaccess такое: 

AddType application/octet-stream .doc .mov .avi .pdf .xls .mp4 

Кэш файлов блога: 

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

#кэширование html и htm на сутки  Header set Cache-Control «max-age=43200″ 

#кэширование css, javascript и txt-файлов на неделю  Header set Cache-Control «max-age=604800″ 

#кэширование flash и картинок на месяц  Header set Cache-Control «max-age=2592000″ 

#запрет на кэширование скриптов  Header unset Cache-Control  

Внимание : параметр max-age показывает секунды. 

Следующий код включает на блоге ошибки на время отладки. 

php_flag display_errors on 

Настраиваем редирект добавив код в файл .htaccess. 

Настройка первого редиректа – 301: 

Если Вы часто обновляете сайт, то есть делаете на нем изменения то этот код просто незаменим в файле .htaccess, так как он будет перенаправлять ваших посетителей со старых заброшенных адресов на ново-созданные: 

Redirect 301 /forum/threads/zarabotok-na-darah-lesa.42/ https://biz-anatomy.ru/keysy/zarabotok-na-darah-lesa

Это пример как я делаю у себя, в этом случае устанавливается перенаправление со старого адреса на новый. Первым указывается старый УРЛ.

Склеиваем домены с www и наоборот без www: 

Редирект с mysite.com на www.mysite.com:

RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www.yoursitename.ru$ [NC] RewriteRule ^(.*)$ 

 Теперь наоборот: 

RewriteEngine On RewriteBase / 

RewriteCond %{HTTP_HOST} !^yoursitename.ru$ [NC] 

RewriteRule ^(.*)$ 

 Второй на очереди редирект – 302: 

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

RewriteEngine on RewriteCond %{REQUEST_URI} !/informpage.html$ RewriteCond %{REMOTE_HOST} !^12\.345\.678\.90 RewriteRule $ 

 Вместо 12.345.678.90 поставьте свой IP адрес, узнать свой IP можно на специальных сервисах в поисковой системе. Сайт будет отрыт для вас, но закрыт для всех остальных. 

Перенаправление с HTTP на HTTPS и обратно

RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Направлять посетителей на другой адрес сайта: 

Если Вы по вынужденным причинам переехали на другой адрес, то вставив данный код в файл .htaccess будет перенаправлять автоматически ваших посетителей на новый сайт или блог: 

ErrorDocument 403 

 Последние две строки это IP адреса с которых перенаправление работать не будет. 

Можно переадресовать на 

 RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) 

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

Ставим запрет на листинг наших директорий: 

Обычно этот код используют когда нет индексного файла, если например Вы хотите просматривать содержимое папки, например: папка images. 

Options All -Indexes 

Options + Indexes 

Этим кодом мы с Вами запрещаем доступ к файлу. 

Запретить можно любой файл, например –  правильный файл .htaccess , вот таким образом: 

order allow,deny deny from all  

Блокируем по IP адресу.

Для того чтобы спамеры не жили у Вас на блоге. 

Запретить доступ к сайту с IP-адресов 123.4.5.6 и 123.5.4.3

Order Allow,Deny
Allow from all
Deny from 123.4.5.6 123.5.4.3l

Запретить доступ к сайту со всех адресов кроме 123.4.5.6 и 123.5.4.3:

Order Deny,Allow
Deny from all
Allow from 123.4.5.6 123.5.4.3

 

Настраиваем ЧПУ с помощью правильного файла .htaccess: 

Если Вы пользуетесь блогом wordpress, то лучше эти настройки сделать в админ панели Вашего блога. 

Убираем из адресной строки ?p=. По умолчанию адрес страниц выглядит вот так: 

Vash_site.com/?p=xxxx, где xxxx – id статьи. Чтобы сделать человеко-понятный адрес вставьте следующий код в .htaccess: 

RewriteCond %{REQUEST_URI} ^/([0-9]+)$ RewriteRule .* 

 Как убрать из адресной строки category. 

Пишем такой код: 

RewriteRule ^category/(.+)$ 

Всегда делайте резервные копии и проверяйте сайт на работоспособность после всех изменений.

Если у Вас возникли вопросы по правильному файлу .htaccess, задавайте их в комментариях к статье.

Есть вопросы, пожелания, предложения? Пишите нам,
мы обязательно ответим.

Топ-5 ошибок SEO-специалистов 1204 28.2.2024 Топ-5 ошибок SEO-специалистов

Анализ лидеров поисковой выдачи по запросу «цифровые маркетинговые агентства» показал, ...

Как составить объявление в Яндекс Директе? 1181 28.2.2024 Как составить объявление в Яндекс Директе?

Рекламодатели иногда испытывают опасения при запуске рекламы в Яндексе из-за ...