2012-02-18 13 views
2

状況:古いWordPressサイトを新しいドメインに移動しました。同じパーマリンク構造、301'd $ 1リダイレクトできるように、404 url​​に末尾のスラッシュを追加してください

移動直前に、タグがクリーンアップされました。 2000以上のタグからダース程度のタグまで削減されました。タグがオンサイトでマージされたことは明らかです。何年もの間、古いタグの多くがサイト上で使用され、インターネット上で広く索引付けされていることから、多くの404が始まったことは明らかです。

  • すなわち(/タグ/フランク・シナトラ/または/タグ/トニー・ベネット/マージおよび/タグ/歌手にリダイレクト/)

彼らは組み合わせを介して生じるとして、私は404年代にリダイレクトされています404リダイレクトされたプラグインhttp://wordpress.org/extend/plugins/404-redirected/(ログのリダイレクトとログの作成を許可)、Googleウェブマスターツールのデータ(レポート404の/クロールのエラー...)、リンクチェッカーhttp://wordpress.org/extend/plugins/broken-link-checker/、リダイレクトとmod_rewritesをhtaccessに追加するとそれぞれのソリューションが最も経済的です。

私のpermalink/canonical url構造体(/%postname%/)は、スラッシュ、すなわち、スラッシュを使用します。 /またはタグ名/タグ名/または/カテゴリ/カテゴリ名/

しかし、ここで私は自分自身で解決することができなかったリダイレクト/ mod_rewrite正規表現:

Wordpressは自動的にページ、投稿、タグ、カテゴリの末尾にスラッシュがありません。古いタグから新しいタグにリダイレクトされますが、最近私は驚いています404は後続のスラッシュがない古いタグのURLリクエストで、そのほとんどは既に後続のスラッシュを含むURLとして固定されています。すなわち

  • /タグ/フランク・シナトラ/ 301 - > /タグ/歌手/ = 200成功
  • /タグ/フランク・シナトラ= 404

が見つかりません彼らは404' されていますd後ろのスラッシュがURLの最後に強制されてリダイレクトできるようにする

後ろのスラッシュがない古いタグurlごとに個別の301を作成する以外にも解決策はありますか?

私はこれがかなり一般的な問題であるに違いないと信じていますが、仕事のスマートな解決策は今まで私を逃してしまったのです!これらの自分よりも多くの知識とソリューションを共有するのに十分な寛大な

感謝:)

答えて

0

あなたのすべてのURLの末尾にスラッシュで終わる場合は、この問題に対処するための一つの方法は、1を持っていないものをリダイレクトすることです。これにより2 301が発生しますが、これは404よりも優れています。

これを行うには、サイトのルートディレクトリにある.htaccessファイルに次の行を追加します。これらのルールが他の既存ルールの前に表示されていることを確認します。末尾のスラッシュが欠落しているURLは、すべてのタグURLがある場合

RewriteEngine on 
RewriteBase/

#if not an existing file 
RewriteCond %{REQUEST_FILENAME} !-f 
#redirect urls without a trailing slash 
RewriteRule ^(.*[^/])$ $1/ [L,R=301] 

は、その後、あなたが使用するどのようなルールそれが唯一のWordPressのカテゴリー/タグおよび「プリティURLにそれを適用する

RewriteRule ^(tag/.*[^/])$ $1/ [L,R=301] 
+0

への最後のルールを変更します"(パーマリンク)ただし、スタティックURL(拡張子は.htm、.html、.php、.xml)のみを残しておきますか? - どうも – rrhobbs

関連する問題