【问题标题】:WordPress: Site is HTTPS; redirect only one site page over HTTPWordPress:网站是 HTTPS;通过 HTTP 仅重定向一个站点页面
【发布时间】:2018-05-19 13:35:56
【问题描述】:

我正在尝试让我管理的网站通过 HTTP 仅重定向一个页面,而网站的其余部分将通过 HTTPS 发送。

服务器是 Ubuntu Server 16.04.3 设置,安装了 WordPress 4.9。证书来自 Let's Encrypt。

根据我正在阅读的another post,给出的解决方案之一是在站点的 .htaccess 文件中添加类似于以下代码的内容:

# redirects non-www page requests to www version
RewriteCond %{HTTP_HOST} ^mywebsite\.com$ [NC]
RewriteRule (.*) http://www.mywebsite.com/$1 [R=301,L,NE]

# adds a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

# 3 pages to be on https
RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_URI} ^/(order-form|employment-
application|about/contact-us)/ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301,NE]

# All other pages have to be on http
RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^/(order-form|employment-
application|about/contact-us)/ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301,NE]

但是,在应用此解决方案并重新启动 apache 服务器后,整个站点进入了不断重定向和超时的状态。如前所述,我只需要一页和一页就可以在 HTTP 上,站点的其余部分可以安全地在 HTTPS 上。任何解决方案将不胜感激。

【问题讨论】:

  • 我很想知道您无法通过 HTTPS 提供所有内容的原因。
  • 仅供参考,Google 会恨你这样做。
  • @Sammitch 因为想要这个的客户端将有问题的页面链接到另一个页面,该页面会提取一些数据,并且源页面只是 HTTP 并且不想使用 HTTPS 显示。此外,网页设计师有时很奇怪。 :P

标签: php wordpress apache .htaccess redirect


【解决方案1】:

就个人而言,我会尝试想出一种替代方法来从 HTTP 上的任何位置提取该资源。是脚本吗?一个图像?必须有更好的方法来拉它。

【讨论】:

    猜你喜欢
    • 2021-05-11
    • 1970-01-01
    • 2017-01-22
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    相关资源
    最近更新 更多