網站局部 URL 使用 httpd (SSL) 在 Apache 上如何實現?

2015-06-03 21:18:22 +08:00
 SolidZORO

我的要求很簡單,只是想login用一下https,別的都走http

當然,這個需求我是實現了。

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(login|regist)(?:\.html)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

可是,login進入https後,點任何連結都是https,跳不回http了。

求解答,不一定要給代碼,說說思路也可以。

1779 次点击
所在节点    问与答
11 条回复
czheo
2015-06-03 22:07:20 +08:00
加一条规则,如果是其他页面是https再跳转回http
ccbikai
2015-06-03 22:49:41 +08:00
我感觉可能与 HSTS 有关
smileawei
2015-06-03 23:16:44 +08:00
使用两个子域呢,比如https://login.xx.com
wy315700
2015-06-03 23:18:47 +08:00
login以后做一个302跳转到http页面,而不是直接显示页面
SolidZORO
2015-06-04 00:15:40 +08:00
@wy315700 嗯,謝謝。這個方法我之前也有看到,但不算測底,登錄之後肯定還要進個人頁和訂單頁,一樣是跳不出的,如果實在不行,算備選方案吧。
SolidZORO
2015-06-04 00:17:41 +08:00
@czheo 我也在試這個方案。不過apache的語句有點看不懂。


```
!(login||regist) ? http : https;
```

能這樣寫多好。
wy315700
2015-06-04 08:15:54 +08:00
@SolidZORO 你是用了相对路径吧,,试试看绝对路径
SolidZORO
2015-06-04 10:45:59 +08:00
@wy315700 比如說,在登錄模塊用戶跳出了https回到http。然後用戶進入結帳模塊,這是https的,忽然用戶點了關於我們,這時還是https,這樣程序就無法做http跳出了。
wy315700
2015-06-04 10:47:15 +08:00
@SolidZORO 你指定连接到Http不行吗
href那里使用http
SolidZORO
2015-06-04 10:59:40 +08:00
@wy315700 這樣感覺要動的地方還是多了點。算了,先全站https。什麼時候有解再調。
wy315700
2015-06-04 11:06:01 +08:00
@SolidZORO

果然是用的相对路径,,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/195913

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX