我试图设置一些301,并且我意识到路径被重定向,如果它之后有任何东西"子目录&# 34;这是一个cms站点,因此它们不是真正的目录。
但是例如
Redirect 301 /products http://example.com/products/all
还重定向/产品/类别和/ products / category / category-name
我在这里错过了什么吗?
答案 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