1 つの VirtualHost グループ内での複数のリダイレクト / 書き換え

1 つの VirtualHost グループ内での複数のリダイレクト / 書き換え

私のクライアントは、現在、数十の URL をメイン サイトにポイントしたいと考えています。それらの URL を、サイトの Apache 構成ファイルに serveralias として追加しました。これで、これらすべての URL がプライマリ URL にポイントされます。すばらしいです。

問題は、これらのエイリアスのいずれかがルートでアクセスされた場合 (つまり、www.domain.com ではなく www.domain.com/some-page/)、サイト内の特定のページにリダイレクトする必要があることです (つまり、domain.com にアクセスするすべてのユーザーを domain.com/special-landing-page/ に送信する必要がある可能性があります)。ただし、ランディング ページ以外へのアクセスは、リダイレクトなしで通常どおり続行されるはずです。

この問題に数時間取り組んできましたが、最善の解決策が見つからないようです。何か提案はありますか?

編集: ああ、実際にそれをやっていたのですが、うまくいきませんでした。コメントはありますか:

サーバー名 mgi.co.uk サーバーエイリアス mgi.co.uk *.mgi.co.uk サーバーエイリアス central-heating-nottingham.co.uk *.central-heating-nottingham.co.uk

    RewriteCond %{HTTP_HOST} ^(www.)?central-heating-nottingham.co.uk$ [NC]
    RewriteRule ^$ /nottingham [R,L]

DocumentRoot /home/ben/sites/mgi/releases/current/mgi

    WSGIScriptAlias and other WSGI stuff....

更新: ログに次の出力が表示されています...

次のような出力が得られます。

127.0.0.1 - - [15/Jun/2010:22:07:50 +0100] [mgi.co.uk/sid#84464a8][rid#8711c60/subreq] (1) 通過 /

127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#870dc50/initial] (2) 要求された URI /favicon.ico で書き換えエンジンを初期化

127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#870dc50/initial] (3) パターン '^$' を URI '/favicon.ico' に適用する

127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#870dc50/initial] (1) /favicon.ico を通過

127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#8713c68/subreq] (2) 要求された URI /favicon.ico で書き換えエンジンを初期化

答え1

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC]
RewriteRule ^$ /special-landing-page [R,L]

試してみたことを投稿してください。

何が起こっているかを確認するために、設定ファイルで次のコードを使用して書き換えログを生成します。

RewriteLogLevel 9
RewriteLog /tmp/rl

混雑したサイトではサーバーの負荷がかなり高くなる可能性があるため、後でこれを無効にしてください。

関連情報