我启用了https,可以使用HTTP和HTTPS导航应用程序而无需重写。 Apache 2.2.24。但我看到一种奇怪的行为:
如果传递400 bad request
则接收http://hostname.com/XXX
,但与url/xxx/
一起正常工作}不知道/
如何帮助重定向到https。
此外,在httpd.conf
中启用了以下重写,但没有看到差异。
此外,HTTP重定向不起作用。
重写引擎
RewriteEngine On
现在重写规则
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://hostname.com/XXX [R,L]`
答案 0 :(得分:0)
最简单的方法是制作2个虚拟主机,一个监听IP:80(HTTP)重定向到HTTPS,另一个监听IP:443(HTTPS)。
<VirtualHost private_ip_of_your_server:80>
ServerName www.mywebsite.com
ErrorLog /var/log/apache/http_www_mywebsite_com_error.log
CustomLog /var/log/apache/http_www_mywebsite_com_access.log combined
RedirectPermanent / https://www.mywebsite.com/
</VirtualHost>
<VirtualHost private_ip_of_your_server:443>
ServerName www.mywebsite.com
ErrorLog /var/log/apache/https_www_mywebsite_com_error.log
CustomLog /var/log/apache/https_www_mywebsite_com_access.log combined
</VirtualHost>
不要忘记添加两个相关的NameVirtualHost指令: - NameVirtualHost private_ip_of_your_server:80 - NameVirtualHost private_ip_of_your_server:443
此致