Как отключить кодирование спецсимволов в URL при форсировании редиректа на HTTPS?

Для отключения кодирования специальных символов в URL при форсировании редиректа на HTTPS в Symfony, вам потребуется настроить ваше приложение на использование тяжелого средства самого фреймворка - HttpFoundation.

1. В вашем файла-конфигурации (например, config.yml или parameters.yml) найдите секцию, отвечающую за среду разработки (dev, prod и т. д.).

2. Добавьте следующую строку в эту секцию:

   http_method_override: true

3. Теперь найдите секцию, отвечающую за конфигурацию фреймворка:

   framework:
       secret: "%secret%"
       # другие настройки...

4. Добавьте опцию http_method_override со значением true:

   framework:
       secret: "%secret%"
       http_method_override: true
       # другие настройки...

5. Последний шаг - настройте веб-сервер для перенаправления с HTTP на HTTPS без кодирования специальных символов. Для этого следует добавить следующие строки в файл .htaccess (если вы используете Apache):

   RewriteCond %{HTTPS} !=on
   RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

Если вы используете Nginx, откройте файл конфигурации сайта и добавьте следующие строки в блок server:

   if ($scheme != "https") {
       rewrite ^ https://$host$request_uri? permanent;
   }

После внесения изменений в файл .htaccess или конфигурационный файл Nginx, необходимо перезапустить веб-сервер.

Теперь, когда вы обратитесь к вашему приложению через HTTP, оно будет автоматически перенаправлено на HTTPS с сохранением специальных символов в URL.