https,.htaccess和SEO

时间:2013-01-28 05:04:08

标签: .htaccess ssl seo

我知道这里和那里有帖子独立解释下面的每个部分,但我发现很难让所有4个部分在根目录中的一个.htaccess中工作,到目前为止所有部分都是错误500或404。

这对于那些拥有SSL的网站非常有用,并希望避免SEO的重复内容问题。

  1. 所有请求http://domain.com都应转到http://www.domain.com(SEO)

  2. 所有请求https://domain.com都应转到https://www.domain.com(SEO)

  3. / checkout和/ customers应该只访问网站的https://版本;不是http://(显然是安全性)

  4. https://所有其​​他目录(不是/ checkout,/ customer)的请求应重定向到该目录的http://版本(SEO)

2 个答案:

答案 0 :(得分:0)

你可以试试这个

RewriteEngine On
RewriteBase /

# http non-www to www
RewriteCond %{HTTPS}  off
RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule ^(.*)   http://www.domain.com/$1 [R=301,L] 

# https non-www to www
RewriteCond %{HTTPS}  on
RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule ^(.*)   https://www.domain.com/$1 [R=301,L] 

# http://www.domain.com/checkout or http://www.domain.com/customers
# to respective https
RewriteCond %{HTTPS}  off
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}   ^/(customers|checkout)(.*)?   [NC]
RewriteRule .*    https://www.domain.com/%1%2  [R=301,L]

# Else, all https to http except /customers or /checkout 
RewriteCond %{HTTPS}  on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}   !^/(customers|checkout)   [NC]
RewriteRule ^(.*)$    http://www.domain.com/$1  [R=301,L] 

答案 1 :(得分:0)

htaccess中最好的代码:

Application.Union(finalrange, t)

如果您使用cms wordpress安装和活动插件Really Simple SSL。