【问题标题】:.htaccess rewrite with url masking.htaccess 使用 url 掩码重写
【发布时间】:2015-12-07 23:20:06
【问题描述】:

我需要做一个 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]

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-05-21
      • 2011-12-09
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2016-12-25
      • 2011-04-03
      相关资源
      最近更新 更多