О web-разработке
и даже немного больше...

Как сделать перенаправление с помощью .htaccess?

Необходимость в перенаправлении запросов пользователей на практике встречается довольно часто. Как известно, реализовать перенаправление можно несколькими способами. В данной заметке мы рассмотрим перенаправление запросов с помощью файла htaccess.

Для начала работы сделайте резервную копию файла .htaccess если он есть. Если его нет, создайте новый файл. После этого можно приступать к редактированию файла.
Как известно в момент перенаправления в некоторых случаях так же желательно отправлять код в заголовке, который дает понять узлу, по какой причине его перенаправляют.

Первый вариант перенаправления с кодом 301, согласно протоколу http означает, что запрашиваемый ресурс перемещен окончательно на новое местоположение. Так на нашем сайте ранее публиковалась статья о том, как сделать 301-редирект в htaccess с «www.» на без «www.», делается это, как правило, для поисковых систем.
 
Редирект 301 (перемещен навсегда):

Redirect 301 / http://new.example.com/

 
В этом случае все запросы к директории, где находится файл .htaccess будут перенаправлены на другой домен. При этом код заголовка ответа будет 301.
 
Редирект 302 (временно перемещен):

Redirect 302 / http://new.exapmle.com/

 
По аналогии, как и с 301 редиректом, только тут указывается код 302, что означает: ресурс временно перемещен. В общем, с таким видом перенаправления вроде всё ясно, теперь давайте рассмотрим другие виды перенаправлений, к примеру, перенаправление от одной страницы на другую директорию, стороннего домена.
 
Редирект от файла index.html на другую директорию:

Redirect /index.html http://new.example.com/newdir/

 
Получается, если мы делаем такое перенаправление, то при запросе index.html мы будем перенаправлены на директорию /newdir которая находится на домене new.example.com.
 
Таким же образом делается перенаправление с одного файла на другой.
Редирект с одного файла на другой:

Redirect /olddir/oldfile.html http://new.example.com/newdir/newfile.html

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

DirectoryIndex index.html

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

Опубликован: 10.09.2014 г.

См. также:

Преимущества и недостатки веб-серверов Nginx и Apache
Как включить сжатие GZip в Nginx?
Подробнее о логах в Apache
Ротация логов в Linux
Denwer в локальной сети
HTTP авторизация
Просмотр списка загруженных модулей Apache
httpd грузит процессор, что делать?

Комментарии

  1. Сергей пишет:

    которая находиться на домене new.example.com
    к директории, где находиться файл

    глаголы в цитатах пишутся без мягкого знака

    1. htmaker пишет:

      спасибо, исправил!

Добавить комментарий для Сергей Отменить ответ

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

Комментарии
  • Загрузка...
Друзья сайта