所以我想强制用户访问我页面的 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/22084899/