Most likely your application will be under a load balancer when in production. If you need to test if the url is HTTPS with PHP you will probably use env(‘HTTPS’), but under a load balancer that wont work.
You will need to check for HTTP_X_FORWARDED_PROTO server variable.
Off course testing this under your local environment can be painful, but here is a small tip that works wonders. Change your http-ssl.conf and on your virtual host add:
RequestHeader set X-Forwarded-Proto "https"
This will automatically add the HTTP_X_FORWARDED_PROTO on the response header from Apache to your app.
The same logic can be used for other Apache header responses.
Amazon MP3 Store




October 31st, 2012 at 11:14 AM
Forgot to mention: The mod headers must be enabled in order to the RequestHeader to work.