0

PHP関数を含むいくつかの異なるWebサイトに応答する必要があるnginxサーバーがあります。

file_get_contents();

ログを見ると、リクエスタの IP を確認できます。

191.56.110.18 - - [07/Mar/2013:00:46:53 +0000] "GET / HTTP/1.0" 200 151 "-" "-"

しかし、nginxにリクエスタの実際のリクエストページをマップしてもらいたいです。たとえば、私のドメインの1つがfile_get_contents()ページからの応答を取得するために使用するwww.mydomaim.com/page20場合、nginxはそれを文字列を含むファイルにマップします"this is page 20"

私はおそらく、各ドメインのパラメーターを使用してリクエストを行うと思いました:

$_SERVER['SERVER_NAME']

したがって、呼び出しは次のようになります。

file_get_contents('http://www.nginxserver.com/?domainpage='. $_SERVER['SERVER_NAME']);

しかし、それはドメイン名のみを返すので、最適ではないと思います。私は明らかにnginxが初めてで、このマップ機能を実行する最良の方法を探しています。

私の目的は、要求しているページに基づいて静的コンテンツを提供することです。何か不足していますか?これについて最善の方法は何ですか?

4

1 に答える 1

0

要求ページに基づいて:

その情報はリファラー http ヘッダーで渡され、nginx 内から$http_referer変数を介してアクセスできます。

ただし、リファラー ヘッダーが設定される、または正しく設定されるという保証はないことに注意してください (リファラー ヘッダーのスプーフィングまたはブロックは簡単で、ある程度一般的です)。

于 2013-03-07T11:44:58.223 に答える