検索ランキングを失うことなく名前を変更したいディレクトリが2つあります。URLの規則と推奨される名前の変更は次のとおりです。
古い:mysitename.com/folder1/folder2/filenames
に
新規:mysitename.com/newfoldername1/newfoldername2/filenames
filenameは、各ページの名前です。
RewriteRule ^(.*)/folder1/folder2/(.*)$ $1/newfoldername1/newfoldername2/$2 [R,L]
このルールの問題は、RewriteRules がドメインではなくパスでのみ一致することです。(.*)/
ドメインを一致させようとしているかのように、ルールの前に がありますが、これは必要ありません。また、書き換えではなくリダイレクトとして設定しました...おそらくこれはあなたが望むものであり、その場合は「R」フラグをそのままにしておきますが、以下のコードではそれを削除します書き直したい。ルールを次のように変更すると、機能するはずです。
RewriteRule ^newfoldername1/newfoldername2/(.*)$ /folder1/folder2/$1
編集:あなたが他のルールを投稿したので、[L]
私はあなたがやろうとしていると思うものを削除し、順序を逆にしました。
編集 2: 上記のルールは、入力するユーザーdomain.com/newfoldername1/newfoldername2/whatever
がサイレントに書き換えられることを前提としていましたdomain.com/folder1/folder2/whatever
。最新のコメントの言い回しは、入力したユーザーdomain.com/folder1/folder2/whatever
をリダイレクトして (つまり、ブラウザーでアドレスを変更する) domain.com/newfoldername1/newfoldername2/whatever
、サーバーがこの新しいパスを処理する準備ができていることを示しています。その場合、次のルールが必要です。
RewriteRule ^folder1/folder2(/.*)?$ /newfoldername1/newfoldername2$1
[R=301,L]