3

このhtaccessコードを機能させようとしています:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^fld/(.*) http://example.com/fld/$1?proxy=http://example.com [P]
  RewriteRule ^/?$ http://example.com/fld/app/cobra/847?remoteaddr=%{REMOTE_ADDR}&proxy=http://mydomain.com/customfolder [QSA,P]
</IfModule>

mod_rewrite は有効になっていますが、Litespeed では mod_proxy が有効になっていない/利用できないと言われました。

これを実行するための PHP の回避策はありますか?

ありがとう

4

1 に答える 1

2

LiteSpeed で同じことを試していたところ、あなたの投稿を見つけました。プロキシを実現できる唯一の方法は、単純な 1 行の PHP スクリプトを使用することでした。

<?= file_get_contents('http://example.com/');

だから、あなたがしていることをするために、それはもっとこのようなものになるでしょう...

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^fld/(.*) proxy.php?fld=$1 [QSA,last]
  RewriteRule ^?$ proxy.php [QSA,last]
</IfModule>

そしてでproxy.php

<?= file_get_contents(
      'http://example.com/' 
      . '?fld=' . $_GET['fld']
      . '&remoteaddr=' . $_SERVER['REMOTE_ADDR']
);

それが理にかなっていることを願っています。ホスティング プロバイダーがこの方法でリモート URL をブロックする場合は、curl を使用する必要がある場合がありますが、これはもう少しコードが多くなります。

于 2014-06-20T09:58:16.350 に答える