1

したがって、私が担当しているサイトの1つにサブドメインプロキシが設定されているこの専用プロキシサーバー(rtrk.com)があります。

The following example is how it works
Original site: example.com
Proxy site: example-px.rtrk.com

プロキシサイトのURLにアクセスすると、元のサイトがリアルタイムで読み込まれます。実際のサイトのサイトファイルに加えられた変更は、プロキシURLを介してすぐに表示されます。

値をチェックしてexample.comで終了することを確認するようにサイトヘッダーを変更しました$_SERVER["SERVER_NAME"]が、取得する動作は、私が奇妙だと考えるものをはるかに超えています。たとえば、次のコードを見てください。

$test = $_SERVER["SERVER_NAME"];
echo $test . "<br />";
echo stristr($test, "exam") . "<br />";
echo $test;
exit;

次の出力は、私が期待するものです:(プロキシ経由でアクセス)

example-px.rtrk.com
example-px.rtrk.com
example-px.rtrk.com

私が実際に見ているもの:

example-px.rtrk.com
example.com
example-px.rtrk.com

ここで何が起こっているのですか?$testがプロキシホストの正しい値に設定されていることを確認します。stristrは、元の値にも実際には見つからない完成した値を返します。次に、テストが何らかの形で変更されておらず、変更されていないことを再確認します。

これは私を絶対に狂わせています!これはどのように可能ですか?

編集:

テスト変数をSERVER_NAMEが報告している文字列に手動で設定することで、正しい出力を取得できます。例:

$test = "example-px.rtrk.com";
echo $test . "<br />";
echo stristr($test, "exam") . "<br />";
echo $test;
exit;

これは私が得るものです(そして得ることを期待しています):

example-px.rtrk.com
example-px.rtrk.com
example-px.rtrk.com
4

2 に答える 2

0

笑-私がそれを理解できないとき、それはいつも愚かなことです。

問題は、プロキシ経由でサイトにアクセスすると、「www.example.com」に一致するすべてのデータが、ブラウザに返される前に、その場で自動的にプロキシアドレスに変換されることです。

簡単に言うと、すべてが想定どおりに機能しており、プロキシサーバーによってブラウザに到達する前に出力が変更されていました。

于 2013-01-02T23:22:28.407 に答える
-1

あなたは面白い方法でstristrを使用しています。これがstristrのドキュメントです。ドキュメントによると、文字列「exam」を検索しているため、関数から「example-px.rtrk.com」を受け取ることはありません。

于 2013-01-02T22:05:01.037 に答える