When explicitly adding port 80 to host such as http://host:80 it will not allow a redirect to https://host:443. require_ssl of the virtualHost will redirect to https://host:80. What is desired is a redirect to https://host:443 when :80 is explicit.