301重定向其目录后的任何内容

时间:2015-02-07 02:19:23

标签: apache .htaccess redirect http-status-code-301 url-redirection

我试图设置一些301,并且我意识到路径被重定向,如果它之后有任何东西"子目录&# 34;这是一个cms站点,因此它们不是真正的目录。

但是例如

Redirect 301 /products http://example.com/products/all 

还重定向/产品/类别和/ products / category / category-name

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:1)

这就是Redirect指令的工作原理。它们有效地移动了完整的目录层次结构,即在原始路径附加到目标URL之后指定的子目录或文件。

如果这对您造成不良副作用,请切换为RedirectRule

RedirectRule ^products/?$ /products/all [R=301,L]

我假设你在同一个网站内重定向。如果没有,您将像以前一样指定完整的目标URL。

RedirectRule ^products/?$ http://example.com/products/all [R=301,L]

答案 1 :(得分:0)

Redirect指令可以被视为"虚拟"链接两个URL路径节点。所以:

Redirect /A /B

就像将文件夹A短路到文件夹B.所以这也包括文件夹A中的所有内容。

如果您只想重定向特定网址,请使用RedirectMatch

RedirectMatch 301 /products/?$ http://example.com/products/all