1

状況:サーバーを 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 のヘッダーをバイパスする必要がありますか? または、一般的にこれを解決するよりスムーズな方法はありますか?

4

0 に答える 0