状況:サーバーを Apache 2.2 と PHP-FPM (mod_fastcgi、PHP 5.4.37) で実行しています。http://dev2.example.com/at/enのような完全な URLをhttp://dev2-at.example.com/enに内部的に書き換える必要があります。両方の ServerAliases が同じ vhost で実行されています (したがって、mod_proxy は必要ありませんか?)。クライアントの場合、dev2-at.example.com/en はサーバー側で (内部的に) 処理されますが、URL dev.example.com/at/en は引き続きブラウザーに表示されます。
問題:インターネットで調査した結果、ホスト ヘッダーを変更するために次の構成を思いつきました。
RewriteEngine On
RewriteRule ^/([^/]+)/([^/]+) - [E=FIRST:$1,E=SECOND:$2]
Header set Host dev2-%{FIRST}e.example.com env=FIRST
mod_fastcgi.conf は次のようになります。
<IfModule mod_fastcgi.c>
AddHandler php-script .php
Action php-script /php.fcgi virtual
# TCP/IP
FastCGIExternalServer /var/run/php-fpm/apache-php.fcgi -host 127.0.0.1:9000
Alias /php.fcgi /var/run/php-fpm/apache-php.fcgi
# FPM status page.
<Location /php-fpm-status>
SetHandler php-script
</Location>
</IfModule>
これは、Host: dev2-php.fcgi.example.comのホスト ヘッダーの結果です。どうにかして php-fpm のヘッダーをバイパスする必要がありますか? または、一般的にこれを解決するよりスムーズな方法はありますか?