gpt4 book ai didi

apache - 强制重定向到除一个页面之外的所有页面的 SSL

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

我正在尝试使用 apache2 的 mod_rewrite 来强制与网站建立 SSL 连接。到目前为止,网站的 <VirtualHost> 中的以下内容运行良好入口:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [QSA,NC,R,L]

这很好用,并且重定向了所有内容,这正是我想要的。

但是,网站上有一个特定页面使用了 Google map API,该 API 无法通过 SSL 使用,因此会在浏览器中触发混合内容警告。所以,我希望这个只有 map 的页面不重定向,而是使用普通的非 SSL 连接。

我不想使用 SSL 的 URL 的格式为 /thing/add/{ID}/page3其中 {ID}是一个数值。

这可能吗?

最佳答案

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^thing/add/\d+/page3$ - [L]

RewriteCond %{SERVER_PORT} ^443$
RewriteRule ^(thing/add/\d+/page3) $ http://%{HTTP_HOST}/$1 [QSA,NC,R,L]

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [QSA,NC,R,L]

规则从上到下处理;如果不在 SSL 上,第一个停止重写 map 页面;如果通过 SSL 访问,第二个(可选)将这些页面重定向到非安全页面;对于所有其他情况,旧规则适用。

关于apache - 强制重定向到除一个页面之外的所有页面的 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/724968/

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