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.