0
我在我的网站上有一个页面,具有购物车功能,允许信用卡购买。我希望此页面可以通过https提供。当用户离开该页面时,我希望他们被重定向回http页面。当我设置重写规则时,我可以提供HTTPS页面没有问题,但是当我添加规则将用户发送回HTTP时,整个HTTPS页面会中断,因为所有资产都会重定向到http或其他内容。这是我的重写规则:从https页面重定向到http
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !/bookings.html
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/bookings.html
RewriteRule ^(.*)$ https://%{SERVER_NAME}/bookings.html [R=301,L]
我在我的html中使用绝对URL。我只是服务于整个网站HTTPS,但客户有tripadivsor小部件,这对他的业务非常重要,他们打破了HTTPS。
好吧,看看它是这样的:“如果HTTPS启动并且请求的URL不是bookings.html,那么重定向到HTTP”。所以如果您通过https(无重定向)登录预订页面并请求图像“kittens.jpg”,则该网址不是booking.html,因此它将重定向到非https,从而中断https页面安全性。如果您想要发送回非HTTP,请在https上添加非https网址,例如 –
是的,我开始把它放在一起。有没有一种方法可以让htaccess只定位到地址栏中的地址?“ – Colin
这就是301所做的。做一个客户端301往返重定向。 –