强制Heroku PHP应用程序使用https用于www和非www版本
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了强制Heroku PHP应用程序使用https用于www和非www版本,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1233字,纯文字阅读大概需要2分钟。
内容图文
我在Heroku上有一个PHP应用程序,带有域名www版本的SSL证书.我需要(通过www和非www)的所有请求通过https转发,并且我已经添加了.htaccess.但是,仍然存在用户可以访问http版本的情况,我不明白为什么.
这是我的.htaccess:
RewriteEngine on
RewriteCond %{HTTPS}::%{HTTP_HOST} ^off::(?:www\.)?(.+)$
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R]
我的理解是,这应该强制所有用户通过https:// www访问,但这并不总是发生.例如,Google有时会提供没有https的搜索结果,而链接会打开不安全的http.
关于我做错了什么的任何想法?
解决方法:
首先重定向到同一主机名:443,然后重定向到www ..普通www.只是DNS中的别名,而大多数使用较短的非www主机名用于网站.您可能需要扩展证书,因为它需要显式添加两个主机名,除非它是通配符.
# rewrite to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
如果你想重写所有到www. (或证书所说的任何内容),只需在下面添加另一条规则即可.在第一次访问时,非SSL规则[L]是最后一步,在下一次访问时,SSL规则[L]是重写的最后一步.
# rewrite to www.
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
另请参阅此答案here,其中涉及使用强制SSL的robots.txt.
当它“仍然可以使用HTTP”时…可能会考虑.htaccess文件的另一个位置 – 或者为每个主机名创建目录,这只是重定向.
内容总结
以上是互联网集市为您收集整理的强制Heroku PHP应用程序使用https用于www和非www版本全部内容,希望文章能够帮你解决强制Heroku PHP应用程序使用https用于www和非www版本所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。