重定向301问题

时间:2009-07-02 08:56:49

标签: .htaccess mod-rewrite http-status-code-301

我们刚刚切换到新网站重新设计。

我们在文件夹“v1”中有前一个的副本,而新的副本在“v2”中。我玩2 .htaccess文件。该文件按如下方式组织:

root
 L .htaccess (1)
 L v1
 L v2
    L .htaccess (2)

.htaccess 1做了两件事:

  • 从URI中删除www
  • 将所有请求重定向到v2 /

规则是:

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

RewriteCond %{REQUEST_URI} !^/v2/ [NC]
RewriteRule ^(.*)$ /v2/$1 [NC,L]

现在,我有一些索引良好的特定网址。 例如:example.com/pixflow /

我想将301重定向到example.com/projects/pixflow1/(实际上是example.com/v2/projects/pixflow1 /)

为了达到这个目的,我已经加入了.htaccess 1:

RewriteRule ^pixflow/$ http://%{HTTP_HOST}/projects/pixflow1/ [L,R=301]

但这不起作用,它会返回404.我做错了什么?

2 个答案:

答案 0 :(得分:1)

您只需说明替代的绝对网址路径:

RewriteRule ^pixflow/$ /projects/pixflow1/ [L,R=301]

但你的也应该工作。

答案 1 :(得分:0)

似乎把它放在.htaccess(1)中:

RewriteRule ^pixflow/$ http://domain.com/projects/pixflow1/ [L,R=301]