2016-12-25 7 views
0

私は積極的に開発しているサービスを持っています。ロジックの1つの非常に重要な部分は、使用されたドメインからのユーザーIDの認識です。ウェブユーザーはhttp://test.address.com(1234567.address.comのエイリアス)に到着します。 Apacheはドキュメントルートからのコンテンツを提供します(ServerAliasと一致します)。対応するサーバエイリアスを取得する方法(Apache 2.4/PHP)

のApacheのconfigs:

<VirtualHost *:80> 
    ServerName example.address.com 
    ServerAlias *.address.com 
    UseCanonicalName Off 
    .... 
</VirtualHost> 

私は何とか検出して(するSetEnvまたは他の方法で)PHPにサーバーの別名を一致送ることができますか? PHPは何とか1234567.address.comのアドレスを知る必要があります。それを行う方法はありますか?

答えて

0

はい、HTTP_HOST環境変数から取得します。送信する必要はありません。すでにApacheから渡されています。これを使用します。

$_SERVER["HTTP_HOST"] 

参考:PHP Predefined Variables

+0

残念ながら、それは、元のアドレスtest.address.comを示しています。私はそれの背後にあるアドレスを知る必要があります(1234567.address.com)。 – Knikke

+0

その背後にあるのはどういう意味ですか? 1234567.address.comにアクセスすると、それが表示されます。あなたがtest.address.comにアクセスすると、その代わりにそれが表示されます。あるものが別のもののエイリアスであることを意味するものを説明してください。 – SuperDuperApps

+0

私はDNS CNAMEについて話しました。アドレスtest.address.comは1234567.address.comのCNAMEです。私はDNSとブラウザがこれらをどのように扱うかに精通していません。 – Knikke

関連する問題