Основные настройки файла .htaccess

Home » Для сайта » Основные настройки файла .htaccess
11

.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 делает это - изготовление сайтов город Владимир. Если вы не разбираетесь в тонкостях создания сайта, то обращайтесь и вам помогут.

Не забудьте подписаться Подписка через RSS-feed через rss и Следовать в Твиттере следовать в twitter-e — для получения обновлений.

Если вам понравился пост или блог, то подписывайтесь на обновление и следуйте за мной в Твиттере:

RSS подписка | Читать в Google | Мой Twitter

Подписаться на обновление по почте:

Метки: Для сайта

11 Сообщений

  1. Коспи, не опускайся так низко, до хтацэс-ов…

    • Cospi:

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

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

    • Cospi:

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

  3. xlife:

    даёшь интересные посты!

    П.С. и часто, и за спасибо

  4. xlife:

    Спасибо

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

  6. Серж:

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

    • 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]

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

    • Cospi:

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

      <FilesMatch "robots.txt$">
      RewriteEngine off
       </FilesMatch>

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

      RewriteEngine off

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

Оставь Комментарий

Подписаться на обновление, без комментирования:

© 2011 Cospi.ru| All rights reserved | Карта сайта.
Proudly designed by Samopal.