在LiteSpeed上使用.htaccess的mod_proxy

时间:2013-05-09 08:31:23

标签: php apache .htaccess mod-proxy litespeed

我正试图让这个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解决方法来运行它?

由于

1 个答案:

答案 0 :(得分:2)

我只是在LiteSpeed上尝试同样的事情并找到了你的帖子。我可以实现代理的唯一方法是通过一个简单的单行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。