OpenShift301重定向出现此域名包含重定向循环问题

为了SEO优化一般都会做301重定向,将带www.的域名跳转到不带www,或者将不带www.的跳转到带www.的域名上,小菜采用的是在.htaccess中写入代码来实现301跳转,相信很多站长也是使用的这种简单实用的方法,代码如下:

RewriteEngine On
RewriteCond %{http_host} ^blogxc.com$ [NC]
RewriteRule ^(.*)$ http://www.blogxc.com/$1 [R=301,L]

但是搬到OpenShift后,就出现了访问www.blogxc.com没问题,访问blogxc.com浏览器就提示此网页包含重定向循环无法显示的问题,在爱森家园 的《openshift近日更新导致以往.htaccess无效解决方法及301重定向各类写法集》一文中看到,换用以下代码可以解决,

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com$1 [L,R=301]

但这种写法有个问题根域名example.com和所有子域名都会跳转到www.example.com,如果你有子域名做其他站点就会不方便,对比下原代码,其实差别只是在http://www.example.com/$1与http://www.example.com$1,将原代码里的/去掉就不会出现重定向循环了,至于加/与不加/的区别,小菜还不知道,希望大牛给解释下
修改后的代码如下:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com$1 [L,R=301]

关于小菜

有认识我的友友吗?

18 comments:

  1. Pingback: best value pharmacy
  2. Pingback: best writing services
    1. 可以使用SSH连接来管理,或是Winscp管理,又或是上传个在线的文件管理器,直接在网页端修改

      1. 我已经找到了,只是当时我没有选择显示隐藏的文件而已,我有一些其他的做博客的问题想请教你,你看怎么联系你方便一些呢?

回复 匿名 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注