0

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

我们在文件夹“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]

现在,我有很好的索引的特定 URL。例如: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。我做错了什么?

4

2 回答 2

1

您可以只声明替代的绝对 URL 路径:

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

但你的也应该工作。

于 2009-07-02T09:12:03.953 回答
0

似乎把它放在 .htaccess (1) 中是有效的:

RewriteRule ^pixflow/$ http://domain.com/projects/pixflow1/ [L,R=301]
于 2009-07-02T09:10:30.867 回答