0

我需要做一个 url 重写维护以下条件:

  • 将http://domain.net(或http://www.domain.net )重写为 http://ip:port/folder
  • 将任何其他请求,如http://domain.net/logout?query=1重定向到 http://ip:port/folder/logout?query=1 (保留查询字符串和所有)
  • 屏蔽重写,以便新手用户无法从浏览器 url 栏中检测到 ip(他们被重定向到的地址)
  • 至于屏蔽,像 http://domain.net:port/folder 这样的可见重定向也是可以接受的。

到目前为止我尝试了什么:以下导致 500 错误。

RewriteCond %{HTTP_HOST} ^(*.)?domain\.net$
RewriteRule ^(/)?$ http:// ip:port/folder/$1 [L,R,QSA]

以下作品没有掩蔽:

RewriteCond %{HTTP_HOST}   !^www\.domain\.net [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http:// ip:port/folder/$1 [L,R,QSA]
4

1 回答 1

1

只有当ip:portdomain.net引用同一服务器时,您才能执行此操作。否则,如果您想隐藏,您必须使用一些脚本从ip:port请求中提取远程内容。domain.netip:port

[P]否则,您可以使用该标志将请求代理到另一台服务器。
见:http ://httpd.apache.org/docs/current/rewrite/flags.html#flag_p

于 2012-06-28T13:16:17.480 回答