apache重写请求后SSL https mod_重写
我使用安全https结账和查看购物车,而产品所在的商店前端不安全——标准http。通过以下规则实现从http到https的传输:apache重写请求后SSL https mod_重写,apache,mod-rewrite,redirect,ssl,https,Apache,Mod Rewrite,Redirect,Ssl,Https,我使用安全https结账和查看购物车,而产品所在的商店前端不安全——标准http。通过以下规则实现从http到https的传输: RewriteRule \.(gif|jpg|jpeg|jpe|png|css|js)$ - [S=1] RewriteRule ^/(checkout|customer|sales|wishlist)/(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 现在,所有这些都可以正常工作一段时间,问题是在向购物车添加产品时,
RewriteRule \.(gif|jpg|jpeg|jpe|png|css|js)$ - [S=1]
RewriteRule ^/(checkout|customer|sales|wishlist)/(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
现在,所有这些都可以正常工作一段时间,问题是在向购物车添加产品时,会删除带有产品数量的post变量。如果我删除了重写规则,/checkout/url将变得不安全,数量也将正常。
我可以在这里添加apache访问日志来显示https打开和https关闭时会发生什么-基本上没有重定向,只有一个POST和一个GET请求,而重定向有一个POST和一大堆GET
问题是针对Apache mod_重写专家的——除了我已经制定的规则之外,我是否还需要做一些特殊的事情来将帖子内容交付到它要去的地方
以下是访问日志:
/*HTTP*/
121.99.xxx.xxx - - [22/Feb/2014:08:48:28 +0400] "POST /checkout/cart/xxx.xxx/ HTTP/1.1" 302 567 "http://pacifika.ru/checkout/cart/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36"
121.99.xxx.xxx - - [22/Feb/2014:08:48:29 +0400] "GET /checkout/cart/ HTTP/1.1" 200 25465 "http://pacifika.ru/checkout/cart/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36"
/*HTTPS*/
121.99.xxx.xxx - - [22/Feb/2014:08:50:53 +0400] "POST /checkout/cart/xxx.xxx/ HTTP/1.1" 302 502 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36"
121.99.xxx.xxx - - [22/Feb/2014:08:50:54 +0400] "GET /checkout/cart/xxx.xxx/ HTTP/1.1" 302 820 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36"
121.99.xxx.xxx - - [22/Feb/2014:08:50:54 +0400] "GET /checkout/cart/ HTTP/1.1" 302 482 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36"
121.99.xxx.xxx - - [22/Feb/2014:08:50:55 +0400] "GET /checkout/cart/ HTTP/1.1" 200 25563 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36"
解决了这个问题,我还要补充一条规则:
RewriteCond %{REQUEST_METHOD} !^POST$
这就解决了问题:)你能发布一个URL示例吗?下面是访问日志,显示了在非安全的“添加到购物车”单击(重写规则被注释掉)过程中,第一次发生了什么,第二次启用了“重写到https”规则。有人吗?必须有人知道更多关于重定向和POST请求的信息?我觉得下面的日志有点奇怪,因为启用https似乎会在设置为200之前生成3个重定向302请求,而http只执行一个302请求。。。