How to force https for prod but http for dev environment? How to force https for prod but http for dev environment? symfony symfony

How to force https for prod but http for dev environment?


You can define parameter for that. In app/config/config.yml define:

parameters:    httpProtocol: http

Then in app/config/config_prod.yml:

parameters:    httpProtocol: https

And in routing.yml change to:

myBundle:    resource: "@MyBundle/Controller/"    type:     annotation    prefix:   /    schemes:  ['%httpProtocol%']

Clear the cache (both prod and dev) and it should work.


Change your app.php last lines like this:

if ($request->getScheme() === 'http') {    $urlRedirect = str_replace($request->getScheme(), 'https', $request->getUri());    $response = new RedirectResponse($urlRedirect);} else {    $response = $kernel->handle($request);}$response->send();$kernel->terminate($request, $response);


My first solution works fine, yet one should take care to not overwrite one own's routes in the routing_dev.yml. At the end of the file, I had

_main:    resource: routing.yml

so all my bundle route was changed back to the https-scheme. Ordering the entries, so that my custom entry comes last resolved the issue.