WordPress将整个网站重定向到HTTPS,然后将一个页面的重定向规则添加到HTTP


WordPress redirect full site to HTTPS and then add redirect rule for one page to HTTP

经过漫长的研发过程,我在这里遇到了一个未解决的WordPress重定向问题。没有一个可用的资源真正帮助了我。

我需要的是——

我已经成功地将我的整个WP网站和管理员重定向到HTTPS。

现在,我只需要一个特定的页面才能重定向到HTTP。因为我将在该页面上使用 iframe 加载外部站点进行预览。

我请求的网址应该是这样的 -

http://example.com/live 预览/?product_id=(数字如 1,2,3 等)

我希望上述网址在没有HTTPS的情况下加载。

我现在的htaccess文件是这样的 -

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R=301,L]
RewriteBase /
RewriteRule ^index'.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

因此,任何带有(/live-preview/)的内容都应该只在HTTP上。请帮助我如何做到这一点。

非常感谢。-阿米特

经过长时间的投入和许多研究,我设法用我的代码解决了这个问题。我分享这个是为了公共利益。

这是有效的访问代码 -

RewriteCond %{HTTPS} !on
RewriteCond %{QUERY_STRING} !^product_id=(.*)$
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]

RewriteCond %{HTTPS} on
RewriteCond %{QUERY_STRING} ^product_id=(.*)$
RewriteRule ^(.*)$ http://%{SERVER_NAME}/$1 [R=301,L]

所以我必须使用 {QUERY_STRING} 并使用 2 个条件和 301 永久重定向。