Использование HTTPS (SSL) соединения с помощью .htaccess и mod_rewrite для XenForo

Тема в разделе "Инструкции и основная информация", создана пользователем kasim, 31.01.16.

  1. kasim

    kasim Участник

    Сообщения:
    28
    Репутация:
    6
    Рейтинг:
    +10 / -0
    Данная инструкция включает в себя именно настройку для XenForo и это подразумевает то, что Вы уже приобрели SSL сертификат и подключили его на стороне своего сервера.

    Для начала переходим сюда: Панель управления - Основная информация о форуме (/admin.php?options/list/basicBoard) - И в поле "URL форума" прописываем адрес, начиная с https:// , например: WebNull.info - Всё для начинающего веб-разработчика!

    Далее открываем файл .htaccess и в самый его низ добавляем:
    Код:
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301]
    Что добавит поддержку https протокола на все страницы нашего форума.


    Если же Вам нужна поддержка https только для определённых страниц, то Вы можете добавить такой код:
    Код:
    RewriteCond %{HTTPS} off
    RewriteCond %{QUERY_STRING} (^register$|^login$)
    RewriteRule ^/?(.*) https://%{SERVER_NAME}%{REQUEST_URI} [R=301]
    Что добавить поддержку https только для страниц авторизации и регистрации.


    Если же поддержка https Вам необходима только для тем и форумов, то добавляем такой код:

    Код:
    RewriteCond %{HTTPS} off
    RewriteCond %{QUERY_STRING} !(^forums$|^threads$)
    RewriteRule ^/?(.*) https://%{SERVER_NAME}%{REQUEST_URI} [R=301]
    Ну и в окончании нашей процедуры, файл .htaccess должен выглядеть так:
    Код:
    ErrorDocument 401 default
    ErrorDocument 403 default
    ErrorDocument 404 default
    ErrorDocument 500 default
    <IfModule mod_rewrite.c>
        RewriteEngine On
        #    If you are having problems with the rewrite rules, remove the "#" from the
        #    line that begins "RewriteBase" below. You will also have to change the path
        #    of the rewrite to reflect the path to your XenForo installation.
        #RewriteBase /xenforo
        #    This line may be needed to enable WebDAV editing with PHP as a CGI.
        #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
        RewriteCond %{REQUEST_FILENAME} -f [OR]
        RewriteCond %{REQUEST_FILENAME} -l [OR]
        RewriteCond %{REQUEST_FILENAME} -d
        RewriteRule ^.*$ - [NC,L]
        RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
        RewriteRule ^.*$ index.php [NC,L]
        RewriteCond %{HTTPS} off
        RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301]
    </IfModule>
     
    • Мне понравилось Мне понравилось x 2