我在这里有一个网站:https://www.virginiaseo.org
我使用 Wordpress 插件,它强制所有内容都通过 HTTPS。如果没有这个插件,我会得到黄色的混合内容小标志,这是不太理想的。此插件强制包括管理在内的每个页面都使用 HTTPS。
这是插件页面:http://wordpress.org/plugins/wordpress-https/
我也使用 .htaccess 规则,包括一个强制 HTTPS。这是规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.virginiaseo.org/$1 [R=301,L]
</IfModule>
这一切都很好,除了第三方爬虫和应用程序需要的一些我无法通过 http 获取的资源。一个典型的例子是:robots.txt
如何让 robots.txt 通过 http 访问,同时又不弄乱网站上的其他所有内容。
另外,插件的 HTTPS 配置不是很好,但这似乎是在我的整个站点上强制使用 HTTPS 的唯一方法。我担心重复的内容问题等,因为它同时在 http 上可用。我愿意接受有关我的设置的任何建议,在此先感谢!
最佳答案
你可以试试这样的规则:
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !/(robots\.txt|favicon.ico) [NC]
RewriteRule ^(.*)$ https://www.virginiaseo.org/$1 [R=301,L]
RewriteCond %{HTTPS} on
RewriteRule ^(robots\.txt|favicon.ico)$ http://www.virginiaseo.org/$1 [R=301,L]
关于wordpress - 在整个网站和内容上强制使用 HTTPS,但允许多个项目使用 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21710499/