問題
いくつかの短い便利なURLをより長い実際のURLにリダイレクトする必要があります。問題のサイトは、一連のサブドメインを使用して、一連の開発バージョンまたはライブバージョンを識別します。
特定のリクエストのリダイレクト先のURLにHTTP_HOSTを含めて、ホストごとにカスタムの.htaccessファイルを作成する必要がないようにしたいと思います。
ホスト固有の例(.htaccessファイルから抜粋)
Redirect /terms http://support.dev01.example.com/articles/terms/
この例は、dev01.example.comで実行されている開発バージョンで正常に機能します。dev02.example.comで実行されている開発バージョンのメインの.htaccessファイルで同じ行を使用すると、間違った場所にリダイレクトされることになります。
理想的なルール(正しい構文がわからない)
Redirect /terms http://support.{HTTP_HOST}/articles/terms/
このルールは機能せず、私が達成したいことの例としてのみ機能します。次に、多くの異なるホストでまったく同じルールを使用して、正しい結果を得ることができます。
答え?
- これはmod_aliasで実行できますか、それともより複雑なmod_rewriteが必要ですか?
- これは、mod_aliasまたはmod_rewriteを使用してどのように実現できますか?可能であれば、mod_aliasソリューションをお勧めします。
明確化
私は同じサーバーにとどまりません。私は…したい:
- http:// example.com / terms /-> http://support。example.com / articles / terms /
- https://secure。example.com / terms /-> http://support。example.com / articles / terms /
- http:// dev.example.com / terms /-> http://support。dev.example.com / articles / terms /
- https://secure。dev.example.com / terms /-> http://support。dev.example.com / articles / terms /
example.comとdev.example.comの両方の.htaccessファイルで同じルールを使用できるようにしたいと思います。この状況では、リクエストのリダイレクト先のURLで文字通り指定するのではなく、HTTP_HOSTを変数として参照できるようにする必要があります。
提案されているようにHTTP_HOSTパラメーターを調査しますが、実際の例を期待していました。