代码之家  ›  专栏  ›  技术社区  ›  Ela Buwa

重定向但不显示URL重定向::htaccess?

  •  0
  • Ela Buwa  · 技术社区  · 14 年前

    我需要重定向一些用户,可能到子域,但我不想让他们知道他们在子域中。他们应该认为自己在主要领域。 我相信这可以通过htaccess完成,但这对我来说是胡言乱语。

    有人能扔给我一些骨头吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Jon Lin    14 年前

    当在不重定向浏览器的情况下提供来自不同域的内容(从而更改地址栏中的URL)时,需要发生以下两件事之一。要么有 文件路径 到其他域的解析,或 reverse proxy 必须进行设置(如果加载了mod_proxy,这很容易做到)。

    看起来你的子域在你的主域的文档根目录中,这意味着这个选项是可行的。所以,如果你想这样做,当有人把这个URL放在他们的地址栏里时, http://domain.com/page ,他们在 http://sub.domain.com/another-page ,您只需将这些规则添加到主域的文档根目录中的htaccess文件的顶部( public_html )以下为:

    RewriteEngine On
    RewriteRule ^page(.*)$ /subdomain_folder/another-page$1 [L]
    

    否则,第二个选项是使用mod_proxy:

    RewriteEngine On
    RewriteRule ^page(.*)$ http://sub.domain.com/another-page$1 [L,P]
    

    编辑:

    我想重定向一些用户,取决于他们的ip(地理位置)到另一个子域名。是的public_html是根

    您可以通过 %{REMOTE_ADDR} 变量:

    RewriteCond %{REMOTE_ADDR} ^123\.45\.67\.89$
    RewriteCond !^/subdomain_folder
    RewriteRule ^(.*)$ /subdomain_folder/$1 [L]
    
    推荐文章