我想设置一些301s,我意识到路径得到的重定向如果有什么后它是“子目录”这是一个cms站点,所以他们不是实际的目录。301重定向后的任何目录
但例如
Redirect 301 /products http://example.com/products/all
也被重定向/产品/类别和/产品/分类/分类名
我在这里失去了一些东西?
我想设置一些301s,我意识到路径得到的重定向如果有什么后它是“子目录”这是一个cms站点,所以他们不是实际的目录。301重定向后的任何目录
但例如
Redirect 301 /products http://example.com/products/all
也被重定向/产品/类别和/产品/分类/分类名
我在这里失去了一些东西?
Redirect
指令可以被视为“虚拟”链接两个URL路径节点。所以:
Redirect /A /B
就像shortcuting的文件夹中的文件夹B.因此,这将包括所有内文件夹中的为好。
如果你想被重定向只是一个特定的网址,用RedirectMatch
:
RedirectMatch 301 /products/?$ http://example.com/products/all
这就是Redirect
指令的工作原理。它们有效地移动完整的目录层次结构,即将原始路径附加到目标URL后指定的子目录或文件。
如果这是你不想要的副效应,切换到RedirectRule
作为
RedirectRule ^products/?$ /products/all [R=301,L]
我假设你在同一站点中的重定向。如果没有,您可以像以前一样指定完整的目标网址。
RedirectRule ^products/?$ http://example.com/products/all [R=301,L]