我们的邮件列表提供商要求我强制rss feed不是https而是简单的http。
我们的网站在Wordpress 4.7.1上运行,并使用简易HTTPS重定向和SSL不安全内容修复程序插件来使网站正常工作。
有些人告诉我也许我应该为.htaccess添加一些例外但我在论坛中找不到如何。
我已经创建了这个帖子,但我无法理解它。 htaccess force ssl except for rss feeds
这是我在.htaccess文件中找到的内容
# BEGIN HTTPS Redirection Plugin
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# END HTTPS Redirection Plugin
感谢您的帮助。 Gergo
答案 0 :(得分:1)
您需要使用模板重定向挂钩。
add_action( 'template_redirect', 'template_redirect', 1 );
function template_redirect() {
if ( is_ssl() && ! is_admin() ) {
if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'your_url' ) ) {
wp_redirect( preg_replace( '|^https://|', 'http://', $_SERVER['REQUEST_URI'] ), 301 );
exit();
}
}
}
请将您的网址粘贴到your_url参数中。
答案 1 :(得分:0)
您可以使用:
RewriteEngine On
#Check to see if HTTPs is not on, turn it on.
RewriteCond %{HTTP:X-Forwarded-SSL} !on
RewriteCond %{REQUEST_URI} ^\/(foobar)
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,R=301]
#If HTTPs is on, turn it off for foobar.
RewriteCond %{HTTP:X-Forwarded-SSL} =on
RewriteCond %{REQUEST_URI} !^\/(foobar)
RewriteRule (.*) http://%{HTTP_HOST}/$1 [L,R=301]
将foobar更改为相关目录。在测试之前,请确保清除缓存。