Перенаправить http на https в .htaccess (Symfony 4) - PullRequest
1 голос
/ 26 апреля 2020

Я пытаюсь разместить свой symfony 4 веб-сайт на общем хостинге (Cpanel) и хочу автоматически перенаправить http на https.

Я обнаружил, что по многим вопросам я должен изменить mu .htaccess, вот мое текущее содержимое .htaccess:

DirectoryIndex index.php

AddType application/x-lsphp72 .php

<IfModule mime_module>
  AddType application/x-httpd-ea-php72 .php .php7 .phtml
</IfModule>

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /index.php/
    </IfModule>
</IfModule>

<IfModule php7_module>
   php_flag display_errors On
   php_value max_execution_time 30
   php_value max_input_time 60
   php_value max_input_vars 1000
   php_value memory_limit 128M
   php_value post_max_size 8M
   php_value session.gc_maxlifetime 1440
   php_value session.save_path "/var/cpanel/php/sessions/ea-php72"
   php_value upload_max_filesize 10M
   php_flag zlib.output_compression Off
</IfModule>
<IfModule lsapi_module>
   php_flag display_errors On
   php_value max_execution_time 30
   php_value max_input_time 60
   php_value max_input_vars 1000
   php_value memory_limit 128M
   php_value post_max_size 8M
   php_value session.gc_maxlifetime 1440
   php_value session.save_path "/var/cpanel/php/sessions/ea-php72"
   php_value upload_max_filesize 10M
   php_flag zlib.output_compression Off
</IfModule>

<IfModule mime_module>
  AddHandler application/x-httpd-ea-php72 .php .php7 .phtml
</IfModule>

Я нашел по этому вопросу Перенаправить HTTP на HTTPS что я должен добавить:

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://website.com/$1 [R=301,L]

но я получил ошибку ERR_TOO_MANY_REDIRECT.

Кто-нибудь из вас, ребята, получил то же самое, что и я?

Спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Я решил эту проблему с помощью security.yaml

 access_control:
     - { path: ^/my-path, requires_channel: https }

, теперь, когда я получаю доступ к http://my-website.com/my-path, автоматически перенаправляется на https

0 голосов
/ 26 апреля 2020

Вместо .htaccess я бы предложил изменить виртуальный хост
(файл конфигурации в /etc/apache2/sites-available)

Сделайте это, и все готово:

# Catch and redirect all http
<VirtualHost *:80>
    ServerName example.com

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

<VirtualHost _default_:443>
    ServerName example.com

    # Rest of your vhost
</VirtualHost>
...