gpt4 book ai didi

apache - 如何仅向支持 SSL/TLS 加密的设备提供 Https ://version of your site (via Apache . htaccess)

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:23 25 4
gpt4 key购买 nike

我的 feature phone 有一个lite(即瘦身/轻量级)“primary website”版本, 在线 https://fp.jamesandersonjr.com ,然后我在我家里能找到的最旧的手机上测试它,至少有 wi-fi,一个旧的 LG 840G ,才发现手机不支持https://协议(protocol)!

所以,我的问题是,如何在支持加密 (SSL/TLS/HTTPS) 的设备上强制使用网站的 https:// 版本,而功能手机(如 LG840G)等设备将“自动”且“仅”提供网站的 http:// 版本?

实现这一点会很棒,因为我相信 Google 知道如何做到这一点。

我需要在我的“根”Apache .htaccess 文件中执行此操作,因为我确信这是完成此类任务的最可行方法。

好的,所以我用这个页面测试了 LG-840G:http://fp.jamesandersonjr.com/php/user_agent_detector.php

事实证明,它使用的浏览器在用户代理字符串中带有 Obigo,所以我设计了这个 .htaccess 代码:

RewriteEngine On
RewriteOptions inherit
RewriteBase /

RewriteCond %{HTTP_USER_AGENT} "!(obigo|palmos|webos)" [NC]
RewriteCond %{HTTPS} !on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_USER_AGENT} "(obigo|palmos|webos)" [NC]
RewriteCond %{HTTPS} on [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

它只应该为旧版移动浏览器提供 http:(非安全)版本,而不支持 https://。它应该也适用于现代“智能”手机和浏览器。他们可以正确处理 SSL/TLS/HTTP。

最佳答案

答案是弄清楚哪些浏览器通常太旧而无法正确支持 SSL/TLS/HTTPS,并让 Apache .htaccess“淘汰”那些特定的浏览器类型。其余浏览器将被迫使用 https://。这是执行此操作的 .htaccess 代码:

RewriteEngine On
RewriteOptions inherit
RewriteBase /

RewriteCond %{HTTP_USER_AGENT} "!(obigo|palmos|webos)" [NC]
RewriteCond %{HTTPS} !on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_USER_AGENT} "(obigo|palmos|webos)" [NC]
RewriteCond %{HTTPS} on [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

如果您发现任何其他浏览器普遍、非常旧或通常有缺陷,请告诉我,以便我更新代码。

关于apache - 如何仅向支持 SSL/TLS 加密的设备提供 Https ://version of your site (via Apache . htaccess),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44523301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com