如何使您的网站仅限https?

时间:2018-01-06 14:54:47

标签: html ssl

我有一个可用的SSL证书,但是访问我的https网站的唯一方法是在搜索栏中输入“https://”。我有一个.htacces文件,其中包含以下代码:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

我也试过这行代码:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

但它们似乎都不起作用。

我还读到,有一个元标记可以将所有用户发送到您的https,无论如何。但仍然没有找到meta标签的样子。

感谢任何帮助。谢谢你的时间

1 个答案:

答案 0 :(得分:0)

基本想法是正确的 - 您需要在您的网络服务器上重写规则才能使网站仅限HTTPS

RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

请查看以下文档:https://wiki.apache.org/httpd/RewriteHTTPToHTTPS

关于你的规则不起作用的原因 - 你需要从文档中了解.htaccess文件的上下文:

  

.htaccess文件(或“分布式配置文件”)提供了一种方法   在每个目录的基础上进行配置更改。一份文件,   包含一个或多个配置指令,放在一个   特定文档目录,指令适用于此   目录及其所有子目录。

但是,如果可能的话,最好不要使用.htaccess,因为它具有负面的性能影响,并且使用<Directory>块可以实现同样的目的。所有这些都在这里:https://httpd.apache.org/docs/current/howto/htaccess.html

关于元标记 - 您需要做的就是添加如下内容:

<meta http-equiv="refresh" content="0; url=https://yoursite.com/">

元标记绝对不是HTTP-2-HTTPS重定向的最佳实践,因为它很容易绕过网站管理员控制,因为它是客户端重定向。