Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Magento中将HTTPS重定向到HTTP,但出现签出异常(Apache)_Apache_.htaccess_Magento_Redirect_Https - Fatal编程技术网

在Magento中将HTTPS重定向到HTTP,但出现签出异常(Apache)

在Magento中将HTTPS重定向到HTTP,但出现签出异常(Apache),apache,.htaccess,magento,redirect,https,Apache,.htaccess,Magento,Redirect,Https,我正在使用Magento安装和一步签出插件,这意味着我只有很少的页面需要HTTPS。我想通过重定向整个HTTPS版本的站点来控制HTTPS搜索索引和用户访问,当然安全签出除外 安全签出部分是/onestepcheckout/(还包括该部分的一些子页面,即onestepcheckout/failure) 这是我到目前为止所拥有的,但HTTPS并没有在签出页面上使用此代码,重定向在所有其他情况下都有效(即,我将索引HTTPS发送到索引HTTP),只是出现了一个异常: #Redirect HTTPS

我正在使用Magento安装和一步签出插件,这意味着我只有很少的页面需要HTTPS。我想通过重定向整个HTTPS版本的站点来控制HTTPS搜索索引和用户访问,当然安全签出除外

安全签出部分是
/onestepcheckout/
(还包括该部分的一些子页面,即
onestepcheckout/failure

这是我到目前为止所拥有的,但HTTPS并没有在签出页面上使用此代码,重定向在所有其他情况下都有效(即,我将索引HTTPS发送到索引HTTP),只是出现了一个异常:

#Redirect HTTPS to HTTP except checkout 
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^onestepcheckout
RewriteRule ^(.*)$ http://www.mysite.co.uk/$1 [R=301,L]

#Require SSL on checkout
RewriteCond %{HTTPS} !on
RewriteCond %{REQUEST_URI} ^onestepcheckout\/?$
RewriteRule ^(.*)$ https://www.mysite.co.uk/$1 [R=301,L]

我也有点谨慎,
/onestepcheckout/
不包含安全资源,因此可能需要向图像和样式表等添加异常。

不要忘记,虽然重写规则中的路径是相对于.htaccess文件的上下文进行计算的,REQUEST_URI变量与实际请求相关,因此包含初始斜杠

所以你需要

RewriteCond %{REQUEST_URI} ^/onestepcheckout\/?$
或者,您可以引用重写规则中捕获的部分:

RewriteCond $1 !^onestepcheckout/
试试这个:

    RewriteCond %{REQUEST_URI} onestepcheckout
    RewriteCond %{HTTPS} !off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]