質問: ### 前提・実現したいこと 専用サーバにて、以下ディレクトに分けて ・ホームページ(www) ・商品検索機能付きサイト(www2) ・キャンペーンサイト(www3) 3つのサイトを構築しています。 3つのサイトはすべて同じドメインで運用しています。 ・ホームページ(https://www.example.com) ・商品検索機能付きサイト(https://www.example.com/search/) ・キャンペーンサイト(https://www.example.com/campaign/) 今後は、ホームページのみ、新サーバ、新ドメインで運用することになり 旧ホームページから新ホームページへリダイレクションをしたいと考えています。 商品検索機能付きサイト、キャンペーンサイトは旧ドメインのままの運用になります。 ・新ホームページ(https://www.example-new.com) ・商品検索機能付きサイト(https://www.example.com/search/) ・キャンペーンサイト(https://www.example.com/campaign/) その場合、301リダイレクションを記載した.htaccessは旧ホームページが 格納してあるwwwフォルダに入れるだけで問題ないでしょうか? 商品検索機能付きサイト、キャンペーンサイトはリダイレクションさせたくないです。 よろしくお願いします。
回答: 適切な RedirectCond/RedirectRule を設定すれば ドキュメントルート直下のみで大丈夫ですよ。 `!` を利用してそれ以外と設定可能 サンプル ===== ``` RewriteEngine on # 対象ディレクトリは除外 RewriteCond %{REQUEST_URI} !^/search/.*$ RewriteCond %{REQUEST_URI} !^/campaign/.*$ # 静的ファイルは除外 RewriteCond %{REQUEST_URI} !^.*\.(js|css|gif|jpg|png|ico)$ # Redirect RewriteRule ^(.*) https://www.example-new.com/$1 [R=301,L] ``` こんなかんじ。(タイポシテタラゴメンナサイ)