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

时间:2016-01-17 14:30:44

标签: php wordpress .htaccess redirect

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

我需要的是 -

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

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

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

http://example.com/live-preview/?product_id=(number喜欢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上。请帮助我如何做到这一点。

非常感谢你。 -Amit

1 个答案:

答案 0 :(得分:0)

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

这是有效的htaccess代码 -

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永久重定向。