URL内に特定のWordがあるすべてのページをリダイレクトしたい。両方のWebサイトに同じ記事があります。
例えば:
videos.example.com.ph/its-showtime-hashtags-hashtags-and-dawns-popular-dance-moves_966aaafd8.html
にリダイレクトする必要があります
example.com.ph/its-showtime-hashtags-hashtags-and-dawns-popular-dance-moves_8a4521384.html
違いは、ドメインと最後のIDです。 URL http://videos.example.com.ph
およびWord its-showtime
を含むすべての記事は、http://example.com.ph/
の同じ記事にリダイレクトする必要があります
これが難しすぎる場合は、example.com.ph
メインページへのリダイレクトも問題ありません。
URLのソースIDと宛先IDが異なり、2つの間をマッピングする簡単な方法がない場合、「すべての記事」のsimpleリダイレクトを行うことはできません。たとえば、966aaafd8
が8a4521384
にマップされることをどのようにして知ることができますか?
これを行うには、サーバー構成(すべてのソース/宛先IDを含む)でRewriteMap
を作成するか、ルックアップを実行してからリダイレクトする別のスクリプトにリクエストを書き換える必要があります。
ただし、問題がなければ、すべての要求を他のドメインのドキュメントルートにリダイレクトできます。しかし、これが懸念事項である場合、これは一般的に悪いユーザーエクスペリエンスです(したがって、SEOにとっても悪い)。
videos.example.com.ph
サブドメインの.htaccessファイルの上部:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_Host} =videos.example.com.ph [NC]
RewriteRule ^its-showtime http://example.com.ph/ [NC,R=302,L]
videos.example.com.ph
サブドメインとメインドメインが異なる場所で物理的にホストされている場合、RewriteCond
ディレクティブを削除できます。
これは、(例のように)URLの先頭のits-showtime
と一致することに注意してください。 URLのanywhereと一致させる必要がある場合は、^
プレフィックスを削除してください。
また、これは大文字と小文字を区別しない一致であることに注意してください(NC
-NOCASE
)-これが不要な場合は、NC
フラグをRewriteRule
から削除します。 (NC
のRewriteCond
フラグはそのままにしておく必要があります。これは、そうでなければまだ解決する不正なリクエストを単にキャッチするためです。)
302
(一時的な)リダイレクトを301
(永続的な)リダイレクトに変更します。正常に動作していると確信したら-これが永続的なリダイレクトであると仮定しますか?