Symfony3 Принудительно https всем генерирует ошибку бесконечного цикла - PullRequest
0 голосов
/ 31 мая 2018

У меня есть сайт в Symfony3.Я хочу форсировать все маршруты https.

Я добавляю это в свой файл .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Главная страница работает нормально, пользователь перенаправляется на версию с https, но на любую подстраницу, гдев ссылке есть символ "/" У меня проблема "Ошибка: бесконечный цикл"

Например, эта работа прекрасно:

https://www.example.com

https://www.example.com/subpage1

Но при этом генерируется ошибка Infinite Loop: https://www.example.com/subpage1/subpage2

При удалении принудительного https в .htaccess все работает нормально ...

1 Ответ

0 голосов
/ 31 мая 2018

Избегайте использования .htaccess для таких вещей.
Если вы не планируете использовать только часть своего сайта в https, сделайте это с помощью файла конфигурации vhost.

Вот полныйпример для Symfony 3 с Apache 2

<VirtualHost *:80>
    ServerName www.example.com

    Redirect / https://www.example.com
</VirtualHost>

<VirtualHost _default_:443>
    ServerName www.example.com

    DocumentRoot /var/www/www.example.com/web
    <Directory /var/www/www.example.com/web>
        AllowOverride None
        Order Allow,Deny
        Allow from All

        <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ app.php [QSA,L]
        </IfModule>
    </Directory>

    <Directory /var/www/www.example.com/web/bundles>
        <IfModule mod_rewrite.c>
            RewriteEngine Off
        </IfModule>
    </Directory>

    SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf

    ErrorLog /var/www/www.example.com/var/logs/error.log
    CustomLog /var/www/www.example.com/var/logs/access.log combined
</VirtualHost>

Источник: https://wiki.apache.org/httpd/RedirectSSL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...