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

私は何が間違っているのですか?

私が欲しいのは、「Diet Plans」ディレクトリを参照して、新しいサーバーの同じ場所にリダイレクトすることですが、「DietPlans」親ディレクトリコンポーネントはありません。

どんな助けでも大歓迎です。

4

2 に答える 2

0

Lフラグと関係があると思います。

これは、ルール セットの処理を停止することを意味します。この場合、任意の数の後続文字を検索しているため、ルート ドメインが常に最初に検出されます。したがって、すべての処理が停止します。

于 2012-09-19T23:44:19.520 に答える
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 に答える