私には奇妙に思える状況に遭遇しました。Apache 書き換えルールを構築する際の後方参照変数は、最初の使用後に失われるようです。
私の要件は、古い URL パターンを新しいパス パターンに準拠するように変更することです。
www.example.com/documents/newsletter/newsletter-issue-50.htm
なる
www.example.com/sites/default/newsletter/50/English/newsletter-issue-50.htm
ご覧のとおり、新しい URL パターンでは、発行番号を 2 か所で指定する必要があります。
私の書き換えルールは次のとおりです。
RewriteRule ^documents/newsletter/newsletter-issue-(.*).htm$ http://www.example.com/sites/default/newsletter/$1/English/newsletter-issue-$1.htm [R=301,L]
このルールを使用すると、結果の URL で 2 番目の「$1」が課題番号 (この場合は「50」) に置き換えられないため、404 が返されます。私が得るものは
http://www.example.com/sites/default/newsletter/50/English/newsletter-issue-.htm
このテスト サイトを使用したところ、2 番目の後方参照変数がまったく評価されていないことが確認されました。単純なルールを導入する必要があるため、ここに何かが欠けていると確信しています。
これに関するヘルプは大歓迎です。
ありがとう。