最近、これを使用するようにディレクトリ/old_dir/
を変更し/new_dir/
ました:
RedirectMatch 301 /old_dir/(.*) /new_dir/$1
URLに最適に機能しているようです:
http://www.mysite.com/old_dir/test.php?var=xxxx
に行く
http://www.mysite.com/new_dir/test.php?var=xxxx
はtest.php
ファイル名です。しかし、私が使用する多くの場所で:
http://www.mysite.com/old_dir/test?var=xxxx
思いつく:
The requested URL /old_dir/test was not found on this server.
.php 拡張子を使用しないと、それが php ハンドラーであることを認識しているある種の apache プラグインを利用します。これは、現在存在しないと言っているため、リダイレクトを台無しにしているように見えます。
この問題を解決する方法がわかりません。
編集:すべてのソリューションはこの特別なケース用ですが、phpではない、または同じ名前のファイルが約1000個あることに注意してください。
現時点では、old_dir に "test" という名前のシンボリック リンクを作成し、new_dir の test.php を指すようにしました。しかし、私はまだ私のシナリオを含む非特定の解決策を探しています.