这是我得到的:
- CentOS 5.4(32位)
- 已安装的Apache httpd(服务器版本:Apache / 2.2.11(Unix))
- mod_rewrite已经存在
问题:如何不使用VirtualHost定义将简单的http://site.com重定向到https://site.com ?
PS:试图在SF上的以后答案中找到,但找不到很好的解决方案。
谢谢。
这是我得到的:
问题:如何不使用VirtualHost定义将简单的http://site.com重定向到https://site.com ?
PS:试图在SF上的以后答案中找到,但找不到很好的解决方案。
谢谢。
Answers:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{HTTP:X-Forwarded-Proto} !https
和RewriteRule ^/?(.*) https://%{SERVER_NAME}%{REQUEST_URI}
-在Chrome和Firefox上均可使用,但在Safari和Opera上无法使用。有趣的是,如果我忽略了上面的三行内容,那么我将RewriteEngine On
不再遇到无限循环,但是在Safari和Opera中它仍然会失败(并且可以在Chrome和Firefox中使用)。
RewriteRule ^(.*) https://%{HTTP_HOST}$1
对我来说更有意义。