从https页面重定向到http

时间:2015-06-11 16:20:48

标签: .htaccess redirect ssl

我的网站上有一个页面,其中包含购物车功能,可以购买信用卡。我希望通过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中使用绝对网址。我只是服务整个网站的HTTPS,但客户端有tripadivsor小部件,这对他的业务非常重要,他们可以突破HTTPS。

2 个答案:

答案 0 :(得分:0)

您应该跳过图片/ css / js文件的namespace :pictures do desc 'Download images of gifts from Cloudinary to the localhost' task :download => :environment do Picture.all.each do |pic| if pic.image.to_s.include? 'cloudinary' uploader = GiftImageUploader.new(pic) uri = pic.image.to_s url = 'http://res.cloudinary.com/<domain_name>/image/upload/' + pic.image.filename puts url begin uploader.download! url uploader.store! puts pic.id.to_s + ' ' + (pic.title != nil ? pic.title : '') + ' 100% download' pic.gift_image = uploader pic.save puts 'SAVED' rescue puts 'Error with ' + pic.id.to_s + ' ' + (pic.title != nil ? pic.title : '') + '!' end end end puts 'Done all!' end end 重定向。试试这些规则:

http(s)

答案 1 :(得分:0)

在.htaccess文件上尝试

<Location /bookings.html>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Location>