我正在运行WordPress / WooCommerce网站。大多数URL都没有SSL / https的问题,现在有一个插件,我发现它导致HTTPS出现问题所以我希望这个插件的URL是HTTP而不是HTTPS。
网址如下所示:
https://www.example.com/ontwerp-zelf/?product_id=1432&cart_id=d866d4bd644dd570146434238434f345
我想重写它,以便当它在字符串中找到ontwerp-zelf
时,它会自动重写为HTTP。
有什么建议吗?
答案 0 :(得分:0)
要从包含字符串“ontwerp-zelf”的URL(从一开始)将HTTPS重定向回HTTP,请尝试以下操作(在现有WP指令之前,但在现有规范重定向之后) :
RewriteCond %{HTTPS} on
RewriteRule ^(ontwerp-zelf.*) http://%{HTTP_HOST}/$1 [R=302,L]
请注意.htaccess
中指令的顺序非常重要。
这是目前的302(临时)重定向。当您确定它正常工作时,将其更改为301(永久)。 301s被浏览器缓存,因此可能会使测试出现问题。
但是,您还需要排除这些网址在现有规范HTTP中重定向到HTTPS重定向,否则您将最终获得重定向循环。所以,如果你现在有类似的东西:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
然后,您需要插入一个附加条件,以防止它首先被重定向到HTTPS。
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/ontwerp-zelf
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
CondPattern !^/ontwerp-zelf
声明REQUEST_URI
不得以/ontwerp-zelf
开头。