RedirectMatchを使用して同じドメインの新しいURLにリダイレクトする必要がある古いサイト構造のURLの長いリストがあります。そのトリックは、古い(ソース)URLには厄介な変数が含まれているということです。それは問題ではないですよね?私は、これらの変数を扱うために少し甘いRegexpステートメントを配置しています。それは私がやったことで、変数が正しく一致します。甘い!Regexp/htaccess rewrite fun
この問題は、RedirectMatchステートメントの2番目の部分、つまり宛先で発生します。 RedirectMatchは古いURLを新しいURLに正しく解決しますが、古い変数は新しいURLに追加されます。リダイレクトを保持したいが、リンク先URLに変数が含まれていないようにする。ここに私のコードは次のとおりです。
RedirectMatch 301 ^/Shop/Category1/Category2/(.*)$ http://www.website.com/garage.html
実際のリダイレクトURL:
http://www.website.com/garage.html?launch_pg=itemZoomView&launch_sel=1009152&launch_pg_sp=true&title=Pig+Waste+Can
誰もが私がここで間違ってやっているものに私を指すことができますか?私はちょうどそれらの厄介な古い変数を取り除き、新鮮な開始したいです。
はい、私は実際にこのポストからの私の進行中の研究でそれを見つけ出し、それに渦を打ちました。その結果、追加の "?"次のような変数の先頭に追加されます。http://www.website.com/garage.html??launch_pg=itemZoomView&launch_sel=1009152&launch_pg_sp=true&title=Pig+Waste+Can –
@Tela - わかりませんあなたは何をしたのですか?それはそのようにはならないはずです。私が提供したコードは100%動作します - 私はApache 2.2.17で問題のない同様のコードを利用するいくつかのWebサイトを実行します。 – LazyOne
@Tela同じ仕事をするmod_rewriteパワードリダイレクトルールを追加しました。 – LazyOne