我需要将一些用户重定向到子域,但我不希望他们知道他们在子域中。他们应该认为他们在主要领域。我相信这可以通过 htaccess 来完成,但这对我来说是胡言乱语。
有人可以给我一些骨头吗?
当提供来自不同域的内容而不重定向浏览器(从而更改地址栏中的 URL)时,需要发生两件事之一。要么有另一个域的文件路径解析,要么必须设置反向代理(如果加载了 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}
您可以通过变量检查 IP :
RewriteCond %{REMOTE_ADDR} ^123\.45\.67\.89$
RewriteCond !^/subdomain_folder
RewriteRule ^(.*)$ /subdomain_folder/$1 [L]