12

私は Wordpress ブログを持っており、ブログ投稿を古いブログから新しいブログに次の形式でリダイレクトしています。

古いブログは「ニュース」と呼ばれ、新しいブログは単に「ブログ」と呼ばれます。両方とも、以下に示すサブディレクトリ内の同じドメインに存在します。

古い「ニュース」ブログの構造

http://www.example.com/news/new-android-os-3431

新しい「ブログ」ブログ構造

http://www.example.com/blog/new-android-os

基本的に、このリダイレクトは 2 つのことを行う必要があります:-

  1. 「ブログ」ディレクトリにリダイレクト
  2. 投稿名は同じ構造のままにしますが、URL の最後の数字のセットを削除します

リダイレクトを設定する必要がある約 900 件以上の投稿があります。それぞれを手動で追加できることはわかっていますが、それには時間がかかります。このプロセスを最小限に抑えるために、htaccessファイル内で直接正規表現を使用できるかどうかを誰かが示すことができますか?

私のhtaccessは現在次のようになっています:

# BEGIN WordPress
<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /news/
 RewriteRule ^index\.php$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /news/index.php [L]
</IfModule>
# END WordPress
4

1 に答える 1

25

mod_alias の使用:

RedirectMatch 301 ^/news/(.+?)(-[0-9]+)?$ /blog/$1

または mod_rewrite を使用:

RewriteEngine On
RewriteRule ^news/(.+?)(-[0-9]+)?$ /blog/$1 [L,R=301]
于 2013-05-21T08:52:19.333 に答える