【问题标题】:I Need to redirect WordPress pages to https but not the posts我需要将 WordPress 页面重定向到 https,而不是帖子
【发布时间】:2018-02-14 23:21:54
【问题描述】:

我需要为我的 wordpress 网站上的所有帖子启用 https,但需要将页面重定向到 http。

目前我正在使用以下方法关闭所有 https:

RewriteEngine On

RewriteCond %{HTTPS} on

RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

如何更改此设置,以便仅对页面关闭 https,并且 ssl 在所有帖子上仍然有效。

谢谢。

【问题讨论】:

  • 不知道你为什么要这样做,但我猜你可以从你的页面模板文件重定向?或者创建一个函数来检查它是页面还是帖子,并相应地重定向它?

标签: wordpress .htaccess redirect https


【解决方案1】:

类似的东西,但不确定它是否会起作用。

这应该检查你是否使用 ssl/https,如果你在一个页面上,如果是,将你重定向到没有 s 的同一个页面。

实现了 301 重定向,所以你不必担心。

    function unique_ssl_template_redirect() {

    if ( is_ssl() && is_page() ) {

        if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'http' ) ) {

            wp_redirect( preg_replace( '|^https://|', 'http://', $_SERVER['REQUEST_URI'] ), 301 );
            exit();

        } else {

            wp_redirect( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 );
            exit();

        }

    }

}
add_action( 'template_redirect', 'unique_ssl_template_redirect', 1 );

【讨论】:

  • 谢谢斯坦德。你是明星!那效果很好。添加到functions.php中并完美地完成了这项工作!
  • @MichaelMcGrath 不用担心 m8 - 不,谢谢,但我很感激接受我的回答 ;)
猜你喜欢
  • 1970-01-01
  • 2018-08-31
  • 2015-04-19
  • 2015-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-06
相关资源
最近更新 更多