我正在尝试建立一个我管理的网站,通过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。任何解决方案都将不胜感激。
答案 0 :(得分:0)
就个人而言,我会尝试提出一种替代方法,从HTTP上的任何地方获取该资源。它是一个脚本吗?一个图像?必须有更好的方法来拉它。