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



我正在尝试设置一些301,我意识到如果在"子目录"之后有任何内容,路径get会被重定向。这是一个cms站点,所以它们不是实际的目录。

但是例如

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

正在重定向/products/category和/products/category/category名称

我是不是遗漏了什么?

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

如果这是你不想要的副作用,请切换到RedirectRule作为

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

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

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

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

Redirect /A /B

这就像将文件夹A缩短为文件夹B。因此,这将包括文件夹A内的所有

如果只想重定向特定的URL,请使用RedirectMatch:

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

最新更新