Apache の書き換え: URL 部分を削除する

Apache の書き換え: URL 部分を削除する

www.example.com/site1私はとという 2 つのサブサイトを持つ Ruby on Rails アプリを持っていますwww.example.com/site2。デモの目的で を無効にしてsite2のみを表示する必要がありますsite1。そこで、Apache の仮想ホスト conf で次のようにリダイレクトをいくつか作成しました。

Redirect 301 http://www.example.com/site2 http://www.example.com/site1
Redirect 301 http://www.example.com http://www.example.com/site1

常に にリダイレクトするようにしてください。 さて、だけが表示されるようにURL から をsite1削除し、サブサイトも処理できるようになれば素晴らしいと思います (たとえば、「元の」サイトは で、 と表示されます)。site1http://www.example.com/site1http://www.example.comhttp://www.example.com/site1/cat1http://www.example.com/cat1

  • これは Apache の書き換えエンジンを使用して可能ですか? また、どのように可能ですか?
  • アプリ内で何かを変更する必要があるのか​​、それともルーターが取得するリクエスト URL が Apache によって変更されていないのかはわかりません。
  • 別の解決策としては、ユーザーのアドレスバーにドメインのみを表示することです。これは可能ですか?また、どのようにすればよいですか?

答え1

これは、www.example.com の DocumentRoot をsite1現在のディレクトリではなく、ディレクトリに変更する必要があるように思われます。これにより、引用した 3 つの例すべてでリダイレクトの必要がなくなります。

関連情報