security - 通过 HTTP 强制使用 HTTPS

标签 security .htaccess http https rewrite

所以我想强制用户访问我页面的 https 版本而不是 http。并根据this发布我所要做的就是这样:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]

但是 MY 站点位于主目录中的一个文件夹中,因此它位于 www.domain.com/Folder 中。那么这个 htaccess 代码应该放在主目录还是子目录中。因为我不想更改访问主站点的方式,只更改文件夹。

最佳答案

这是一种不太好的方法,尤其是当您可以访问 httpd.conf 时。更好的方法是创建两个 虚拟主机。一个用于您的标准端口 80 的东西,它只是无条件重定向到 SSL 版本,例如在伪 ish .conf 谈话中:

<VirtualHost example.com:80>
   RedirectPermanent / https://example.com
   DocumentRoot /some/fake/path
</VirtualHost>

<VirtualHost example.com:443>
   normal site stuff here...
</VirtualHost>

这样做的好处是,即使配置困惑禁用了 .htaccess 文件,重定向仍然可行,而且如果 SSL 因任何原因终止,则提供虚假/不存在的内容。

关于security - 通过 HTTP 强制使用 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13110663/

相关文章:

javascript - Node.js:Redis 安全说明

asp.net - 从 HTTP 到 HTTPS 时的考虑因素

javascript - WebWorkers - 新的 Worker 不断从服务器请求相同的脚本

c# - 如何使用 C# 远程对 Stack Overflow 帖子投反对票?

javascript - 除了 https 安全隧道之外,还有其他方法可以更安全地保护 cookie 吗?

ajax - 通过 HTTPS 服务单页应用程序的必要性

php - htaccess 重定向到 "https://www."

regex - 使用 htaccess 删除 URL 的一部分并添加目录

php - Htaccess 将 URL 从一个转发到另一个

java - URLConnection 没有得到字符集