web-dev-qa-db-ja.com

大量のURLを別のURLにリダイレクトする方法

BloggerからWordPressに移行する予定です。また、以前のBloggerパーマリンク構造をWordPressに設定することもしたくありません。今、私は下記のようにURLをリダイレクトする方法があるかどうか知りたいのです。

現在(Blogger):

http://www.example.com/2017/10/seba-online-form-fill-up-2018.html

後(WordPressの場合):

http://www.example.com/seba-online-form-fill-up-2018.html

つまり、Bloggerの年月をURLからインデックス付きURLの数から取り除き、それらをWordPressが生成した新しいURLにリダイレクトします。

2
Mr. Imperfect

/seba-online-form-fill-up-2018.htmlが実際のWordPress URLであるならば、これは.htaccessですることは比較的簡単です。たとえば、mod_rewriteを使用した次のようなワンライナーを使用できます。これは.htaccess内の既存のWordPressディレクティブのbeforeに配置する必要があります。

RewriteRule ^\d{4}/\d{1,2}/(.+\.html)$ /$1 [R=302,L]

これは/NNNN/NN/<anything>.htmlの形式のURLを/<anything>.htmlにリダイレクトします。 Nは0から9の数字で、月(NN)は1桁または2桁のいずれかです。 BloggerのURLに常に2桁の月がある場合は、\d{1,2}\d\dに変更します。

substitution内の$1は、RewriteRulepattern内のキャプチャされたグループへの後方参照です。すなわち。 (.+\.html)

これは302(一時的)リダイレクトです。これが正常に動作していることを確認した場合にのみ、これを301(永久)に変更してください。 (301はブラウザによってハードキャッシュされているため、テストに問題が生じる可能性があります。)

1
MrWhite

そうですね、 Migrate DB のような、このporpuse用のデータベース移行プラグインがいくつかあります。これは、Wordpressに使用されるSQLデータベース内の変更用であり、基本的に古いURLを検索して新しいURLに変更します。だからあなたは検索し、のように置き換えることができます:

検索: http://yoursite.in/2017/10/ /
を置き換える: http://yoursite.in/

http://yoursite.in/xxxxxx.html になります

バックアップファイルのNOTEPAD ++のようなテキストエディタでも同じことができます。両方の方法がうまくいく

0