使用 htaccess 将 IP 重定向到域名

使用 htaccess 将 IP 重定向到域名

假设我有这个 IP 地址11.12.13.14和域名example.com。现在我想要的是将用户从 IP 地址重定向到域名(但不将域名更改为地址栏)。因此,当用户请求时11.12.13.14/test它应该打开exapmle.com/test但不重定向到域名,在地址栏中它仍然应该保留11.12.13.14/test

我见过这个问题重定向到其他域名但保留输入的域名。我不知道它是否有效,因为我没有测试过,但我认为它有效。

我正在使用带有 Apache 的 Ubuntu 14.04,有什么方法可以实现这一点吗?

这是我尝试过的

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^ 11.12.13.14$ [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,NE,P]

答案1

你真的不能重定向而不改变 bar 中显示的地址。如果您想要类似的效果,至少有两个选择:

  1. 反向代理(mod_proxy_http)——可能对用户透明;
  2. HTML 框架 - 已过时、易于检测且在现代浏览器中容易失败。

编辑#1: 对于代理解决方案,您需要将以下指令放在全局或 VirtualHost(基于 IP)部分:

<IfModule mod_proxy_http.c>
    ProxyPass "/" "http://example.com/"
    ProxyPassReverse "/" "http://example.com/"
<IfModule>

相关内容