Htaccess 301リダイレクトは、ページではなくドメインのみをリダイレクトします

Nov 12 2019

ページwww.domain1.nl/page-oldをにリダイレクトしたいwww.domain2.nl/page-new

www.domain1.nl/page-oldアクセスすると、次の場所にリダイレクトされますwww.domain2.nl/page-old

したがって、リダイレクトの種類は機能しますが、半分にすぎません。ドメインはリダイレクトされますが、ページはリダイレクトされません。

  • Domain1のルートには.htaccessファイルしかありません。
  • Domain2はWordPressのウェブサイトです。

Apache 2.4 + php7.3 + CloudFlareを使用します(ルールは設定されていません)

複数のhtaccessルールテキストを試しました:Redirect 301、Redirect、RedirectMatch、RewriteRule。すべて同じ結果。

domain1.comの.htaccessファイル:

Redirect 301 /page-old/ https://www.domain2.com/page-new/

期待される結果は次のとおりです。

www.domain1.nl/page-old >> www.domain2.nl/page-new

実結果:

www.domain1.nl/page-old >> www.domain2.nl/page-old

回答

1 anubhava Nov 14 2019 at 01:04

読者が後で簡単に見つけられるように、ここのコメントセクションに私の答えを投稿してください

正確に一致させるには、代わりにこのルールを使用する必要があります。

RedirectMatch 301 ^/page-old/ https://www.domain2.com/page-new/

Redirect start-withmatchで機能する非正規表現ディレクティブです。