Как сделать редирект странички http на https веб сервер апач

11 февраля 2013 г. pashich Просмотров: 4666 RSS Обсудить
Server

Прилетела мне тут задачка: настроить в апаче так, чтобы все запросы страницы вида http://pashich-ssd.ru на https://pashich-ssd.ru (на самом деле редирект надо было настроить на другом сайте, свой привел просто для примера grin Чтобы было видно что смысл редиректа с http на https. Как обычно, оно оказалось делом 10 минут, если знать куда лезть и что делать. Но пока я понял что делать и куда лезть, параллельно слушая вконтакте музыку с http://alpinefile.ru/vkmusic.html, прошло достаточно много времени. Неоценимую помощь в решении этой задачки оказал мне товарищ Squall, за что ему отдельное спасибо. Итак, рассказываю как я сделал в апаче редирект с http на https

Идем на сервер по shh, смотрим папку

/etc/apache2/site-avaible/

В ней лежат конфиги. Нам нужно в этой папке создать конфиг для нужной страницы, которую нужно редиректить с http на https Файл конфига должен называться примерно так pashich-ssd.ru.conf

Содержание файла-конфигурации для редиректа у меня получилось такое

ServerAdmin admin@pashich-ssd.ru

ServerName pashich-ssd.ru

ServerAlias pashich-ssd.ru

DirectoryIndex index.php

DocumentRoot /home/pashich/prod/www/

Options FollowSymLinks

AllowOverride all

Order allow,deny

Allow from all

RewriteEngine On

RewriteCond %{HTTP_HOST} !^$

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]

RewriteRule ^(/?.*) http://%1$1 [L,R=301]

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

AssignUserId pashich pashich

ErrorLog /home/pashich/prod/logs/apache.error.log

php_value error_log "/home/pashich/prod/logs/php.error.log"

LogLevel warn

CustomLog /home/pashich/prod/logs/apache.access.log combined

Соответственно, смотрите на ваши пути папок, где лежат ваши сайты.

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

После создания файла-конфига в папке /etc/apache2/site-avaible/ нужно выполнить

sudo a2ensite pashich-ssd.ru.conf

После этой команды в папке /etc/apache2/sites-enabled/ появится ссылка на файл pashich-ssd.ru.conf вида @pashich-ssd.ru.conf

Ну и, собственно, после этих действий надо рестартануть апач

/etc/init.d/apache2 restart

Готово, можно проверять рабочий редирект, но учтите, что загруженные странички сохранены в кеше вашего браузера!, соответственно, после захода на страницу, вероятнее всего, редиректа вы не увидите, потому что браузер вам покажет сохраненную версию страницы из кеша grin Жмакните f5 для того, чтобы браузер подгрузил изменения с сервера.

Поделиться с друзьями   facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru livejournal.ru