Путь к статье: Главная » Для сайта

.htaccess – это файл сервера Apache, который лежит в корне сайта и содержит в себе дополнительные инструкции и примечания по работе сайта на сервере. В этой статья я опишу основные инструкции, которые могут пригодиться для настройки простого сайта/блога, чтобы он правильно работал.

1. Кодировка сайта

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

AddDefaultCharset UTF-8

Указываем кодировку файлов по умолчанию UTF-8.

Иногда без этой инструкции просто не обойтись, например вы создали сайт на простых html файлах или на php файлах с подключениями. Выставили в notepad-е кодировку для всех файлов UTF-8:

кодировка utf-8

Прописали мета тег ко всем файлам:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Но открыв сайт в браузере, вы видите, что данные отображаться не корректно:

кодировка файла

Потому что не все браузеры обрабатывают этот мета тег и по умолчанию используют кодировку windows-1251. Для того чтобы исправить эту проблему, надо принудительно заставить браузер использовать кодировку UTF-8, прописав в файле .htaccess инструкцию AddDefaultCharset UTF-8. Обновляя после этого страницу, вы увидите нормальный текст в нужной нам кодировке:

настройка файла .htaccess

С этой проблемой я столкнулся, когда блог на WP находился в подкатегории и надо было вывести последние записи с блога на главную страницу, которая была сделана на простом пхпэшном файле. Из-за того, что WordPress по умолчанию использует кодировку UTF-8, у меня возникли проблемы с выводом статей, пока не прописал принудительную инструкцию по определению кодировки для браузера.

2. Редирект

Существует много разных способов сделать редирект. Опишу основные.

Редирект одной страницы

RewriteEngine on
Redirect 302 /page http://google.ru

Со страницы cospi.ru/page будет включён временный 302 редирект на страницу http://google.ru. Если вы хотите включить постоянный редирект, то используйте 301, вместо 302. Про разницу между этими редиректами, можете почитать в статье Коды заголовков HTTP.

Редирект всего сайта

При склейки всего сайта используются вот такие инструкции:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://newdomain.ru/$1 [R=301,L]

В таком случае, с каждой страницы старого домен, будет работать перенаправление на такую же страницу на новом домене. Подробнее про склейку сайта, можете почитать в статье - Склейка сайта в Яндексе и Google.

Склейка домена с www и без

Для этого нам понадобиться вот вариант редиректа:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

В этом примере, главным доменом будет www.domain.com, а domain.com будет склеено к нему. В обратной ситуации, меняем www по аналогии.

Запрет на доступ

Чтобы запретить заходить на сайт с определённого IP, например с IP 76.196.120.10, надо прописать вот такие инструкции в файл .htaccess:

Order Allow,Deny
Allow from all
Deny from 76.196.120.10

Можно добавить ещё IP, дописав их через запятую.

В противоположной ситуации, когда надо запретить доступ всем, кроме определённых IP, указываем так:

Order Deny,Allow
Deny from all
Allow from 76.196.120.10

Никто не сможет зайти на сайт, кроме IP 76.196.120.10.

Allow и Deny соответственно – разрешаем и запрещаем.

На этом всё, не забываем подписываться на обновление сайт и обязательно поучаствуйте в моей акции для читателей cospi.ru.

Создание сайта с нуля - довольно сложное занятие, но фирма vladwebstudio делает это - изготовление сайтов город Владимир. Если вы не разбираетесь в тонкостях создания сайта, то обращайтесь и вам помогут.


Поделитесь записью:
Комментарии
  1. pavka1

    Хороший пост) Но все-таки в современных условиях по айпи доступ разграничивать…идея не очень)

  2. Cospi

    Конечно 🙂 Это для меня интересная тема, потому что собрался сайт немного модернизировать, с фильтрацией трафика. Но это позже опишу.

  3. Cospi

    Смотря для какиех случаев. Если например спамят постоянно с одного IP, то можно прикрыть.

  4. stef33

    Отличный блог у вас! Странно, что раньше не встречался на просторах интернета 🙂

  5. Серж

    А как AddDefaultCharset UTF-8 указать для конкретной страницы, а не для всего сайта?

  6. Cospi

    Вы саму страницу сохраняйте в нужной кодировке, если вы делаете на голом html, а в движках уже автоматически выбрана кодировка. Для WP это utf-8 и сделать чтоб весь сайт был в этой кадировке, а какая-нибудь одна в другой — не реально.

  7. Алексей

    Здравствуйте, возникла такая проблема, склеил сайты, поставил редирект через .htaccess с старого домена на новый, но мне надо чтоб одна страница старого домена не редиректилась на новый, есть ли какое ни буть исключение в .htaccess? К примеру, что у меня стоит:

    RewriteEngine on RewriteCond %{HTTP_HOST} ^xppx.org.ua$ [OR] RewriteCond %{HTTP_HOST} ^www.xppx.org.ua$ [OR] RewriteCond %{HTTP_HOST} ^www.xppx.org$ RewriteRule ^(.*)$ http://xppx.org/$1 [R=301,L]

    если есть, то куда его вставить? Надеюсь на ваш скорый ответ.

  8. Cospi

    Смотрите, есть вот таккая директива в htaccess:

    RewriteEngine off

    С помощью неё отключается редирект для файла robots.txt, вам надо что-то подобное. Попробуйте разобраться с директивой

    RewriteEngine off

    Конкретнее подсказать к сожалению не могу, нет времени проверять.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *