.htaccess 重写与 url 掩码



我需要做一个url重写,保持以下条件:

  • 重写 http://domain.net(或 http://www.domain.net)以 http://IP:端口/文件夹
  • 将任何其他请求(如 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]

仅当 ip:portdomain.net 引用同一服务器时,才能执行此操作。

否则,如果要隐藏ip:port,则必须使用一些脚本从ip:port中提取远程内容以进行domain.net请求。

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

最新更新