请教htaccess 禁止http,只允许https

请教htaccess 禁止http,只允许https

大伙好啊!

请教我的一难题,S 了 CU,也google了,还是搞不定。

使用 .htaccess ,禁止 http 访问,只允许 https 开头的访问
比如说:
http://www.chinaunix.net   (以 http 方式访问的就禁止)
https://www.chinaunix.net  (以 https 方式访问的允许通过 )

请问规则该这么写?

谢谢!

用rewirte把http写成https就可以了~
感谢 'gavinzhm' 的帮助,
我的想法是,
假如你想访问 chinaunix.net ,你输入的是 http 开头的,就禁止;
假如你输入的是 https 开头的,就通过,而不是把 http 转到 https
关了80端口不可以吗?


QUOTE:
原帖由 xi2008wang 于 2008-9-6 21:17 发表
关了80端口不可以吗?

关闭80端口也是一个办法,可惜我用的是虚拟主机(买的空间)
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^web_mail(.*) https://%{SERVER_NAME}/web_mail$1 [R,L]
感谢 'ipaddr' 的帮助,但功能还是实现不了。
暂时使用 http 转向 https  用着先.

[Copy to clipboard] [ - ]
CODE:
RewriteEngine On
RewriteCond %{HTTPS} !on [NC]
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]



QUOTE:
原帖由 Vinsion 于 2008-9-7 22:52 发表
感谢 'ipaddr' 的帮助,但功能还是实现不了。
暂时使用 http 转向 https  用着先.
RewriteEngine On
RewriteCond %{HTTPS} !on [NC]
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

需要加载mod_ssl

还要配置HTTPS,配置HTTPS的虚拟主机。
<Directory /usr/local/apache/htdocs/>
SSLVerifyClient     require
</Directory>


QUOTE:
原帖由 finddream 于 2008-9-8 16:07 发表

SSLVerifyClient     require

这个不对吧,看上去是要求客户端有证书。