这是Apache httpd 2.2服务器。
我们要求通过HTTPS加密对此Web服务器的访问。
当Web客户端通过http://www.example.org/ $ foo(端口80)访问我的网站时,我想将其请求重定向到https://www.example.org/$foo的HTTPS加密网站。
似乎有两种常见的方法可以做到这一点:
第一种方法使用mod_alias中的“ Redirect ”指令:
<VirtualHost *:80>
Redirect permanent / https://www.example.org/
</VirtualHost>
第二种方法使用mod_rewrite:
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
“重定向永久”和mod_rewrite节之间有什么区别。一个比另一个好吗?
Redirect
指令不能更好地处理从http到https的重定向。见下面斯特凡的评论,并检查Apache文档中的这一部分:httpd.apache.org/docs/current/rewrite/avoid.html#redirect