强制整个网站上的HTTPS加上内容,但允许多个项目使用HTTP

时间:2014-02-11 18:48:14

标签: wordpress apache .htaccess ssl https

我在这里有一个网站: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

如何通过http访问robots.txt,而不会弄乱网站上的其他所有内容。

此外,使用插件的HTTPS配置小于素数,但它似乎是在我的整个网站上强制使用HTTPS的唯一方法。我关注重复的内容问题,例如同时在http上提供它。我愿意接受有关我的设置的任何建议,并提前感谢!

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的规则:

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]