我需要使用https:重定向所有页面
- https://shop.test.com/
- https://shop.test.com/several_parameters
收件人http://www.test.com.
但我们不应该重定向像这样的页面
- https://shop.test.com/checkout/onepage
在shop.test.com上,似乎有某些URL需要作为https来允许。对于这些规则中的每一个,请添加如下所示的RewriteCond(将{URL HERE}替换为您想要允许的URL):
RewriteCond %{REQUEST_URI} !^{URL HERE}
以下是处理您上面指定的情况的完整解决方案:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^shop.test.com$
RewriteCond %{REQUEST_URI} !^/checkout/onepage
RewriteRule .* http://www.test.com/$1 [L,R=301]
小心
值得注意的是,如果你不将Magento列为安全的URL列入白名单,你将创建一个无限重定向循环。为了确保将所有可能的安全URL列入白名单,您可以为<secure_url>
创建代码库,并将每个端点列入白名单。