2

试图将目录的所有内容重定向到不同的 URL。我有:

RewriteRule ^Diet\ Plans(.*)$ http://dietplans.example.com$1 [R=301,L]

当通过以下方式调用时:abc.com/Diet Plans 所有工作都按预期工作 - 被带到重定向域的文档根目录

但是如果我将它调用为:abc.com/Diet Plans/xxx.pdf 它仍然会转到文档根目录而不是http://dietplans.example.com/xxx.pdf

我究竟做错了什么?

我想要的是对“饮食计划”目录的任何引用,以重定向到新服务器中的同一位置,但没有“饮食计划”父目录组件。

任何帮助是极大的赞赏。

4

2 回答 2

0

您可以尝试使用 mod_alias 代替:

Redirect 301 "/Diet Plans" http://dietplans.example.com

这也将解释诸如abc.com/Diet Plans/xxx.pdf->http://dietplans.example.com/xxx.pdf

于 2012-09-19T23:59:15.113 回答
0

我认为这与 L 标志有关。

这意味着停止处理规则集。在这种情况下,由于您要搜索任意数量的后续字符,因此始终会首先找到根域。因此,所有处理都将停止。

于 2012-09-19T23:44:19.520 回答