将除https之外的所有页面重定向到http

时间:2014-02-28 10:42:44

标签: .htaccess http redirect https

出于搜索引擎优化的原因,我想将我网站的其中一个页面从https重定向到http。目前,如果您访问https://版本,则会显示我的网站,上述前缀位于地址栏中。如果您访问http://版本,则不存在https://前缀。显然,因此,Google将我的网站视为两个相同的网站。对SEO不好。

St.Woland的答案here非常有助于将我网站的几乎所有页面从https重定向到http。事实上,在我尝试访问需要安全连接的一个页面之前,它就像一个梦想。

在尝试修复之前,您是否访问了整个页面被标记为安全的安全篮子页面。但是,在推荐的.htaccess修复程序中,所有图像和CSS都被标记为不安全,Chrome拒绝加载它们;页面看起来一团糟。

似乎最佳主机评级上的article有解决方案:将更多.htaccess文件添加到图像和css文件夹中,一切都会好的。

可悲的是,这意味着那些没有https://前缀的页面没有加载css或图像。

请参阅下面我输入的代码。首先,.htaccess将除了篮子页面之外的所有页面从https重定向到http:

RewriteEngine On
RewriteBase /

# Turn SSL on for basket
RewriteCond %{HTTPS} off
RewriteCond %{SCRIPT_FILENAME} \/basket\.php [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# Turn SSL off everything but basket
RewriteCond %{HTTPS} on
RewriteCond %{SCRIPT_FILENAME} !\/basket\.php [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

其次,我放在images目录中的.htaccess:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} images 
RewriteRule ^(.*)$ https://www.domain.com/images/$1 [R,L]

这种情况的一个明显的解决方案可能是将整个网站重定向到https版本。但是,除了购物篮页面之外的所有页面的底部都是来自Google AdWords的脚本,用户在访问我的网站后会在互联网上放置相关广告。该脚本被标记为不安全。

非常感谢任何有关此问题的帮助。

亲切的问候,

标记

0 个答案:

没有答案