0

我正在尝试使用 mod_rewrite 为我的网站编写一些代理重写规则,但无法使其正常工作。请帮帮忙,mod_rewrite 高手。

我需要在保留 URI 的同时将所有子路径代理到外部服务器,但我不想重写基本路径 /。

我不知道子路径的名称,我希望它被视为通配符 / [/ [/*...]]

  • www.domain.com/ -> www.domain.com/index.php
  • www.domain.com/xxx/ -> www.external-server.com/xxx/
  • www.domain.com/xxx/yyy/ -> www.external-server.com/xxx/yyy/
  • www.domain.com/xxx/yyy/zzz/ -> www.external-server.com/xxx/yyy/zzz/

我可以像这样轻松地代理对所有 URI 的调用:

RewriteEngine On 
RewriteRule (.*) http://www.external-server.com/$1 [P,QSA]

任何人都知道一套工作规则和条件支持我的用例吗?

提前致谢!// Edsh

4

1 回答 1

0

如果我对您的理解正确,那么这样的事情应该适合您。

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/
RewriteRule (.*) http://www.domain.com/index.php [L,P,QSA]

RewriteCond %{REQUESTURI} !^/
RewriteRule (.*) http://www.external-server.com/$1 [P,QSA]
于 2013-08-13T15:19:47.860 回答