【发布时间】:2010-11-07 13:53:54
【问题描述】:
我们刚刚切换到我们的新网站重新设计。
我们在文件夹“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。我做错了什么?
【问题讨论】:
-
您真的要求
/pixflow/而不仅仅是/pixflow? -
是的,我想。原来的网址是domain.com/pixflow
-
它对我有用:lab-au.com/pixflow ;)
-
哦,好吧,“domain.com”斗篷就这么多:)
-
最好使用 example.com 作为域名示例。
标签: .htaccess mod-rewrite http-status-code-301