security - 通过 HTTP 强制使用 HTTPS

标签 security .htaccess http https url-rewriting

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

相关文章:

php - 删除index.php并在htaccess Codeigniter中添加www

javascript - 是否可以使用 javascript 将文件保存到与当前文件相同的目录?

security - 从 PhoneGap/Cordova WebView 查看源代码

mysql - 为 MySQL 上的数据加载禁用安全权限

apache - 使用apache检查请求中是否存在 header

html - 在没有 WebView 的情况下在 Android 中提交 HTML 表单

java - Cas 没有属性到达客户端

php - Laravel 5 - 从 URL 中删除公共(public)

java - 写入 servlet 流

javascript - 如何创建可从多个应用程序使用的 PHP 登录 Web 服务?