将地址栏中的 URL 从子域更改为主域

Change URL in address bar from subdomain to main domain

我有一个网站,前端编码为 HTML5 + javascript + jquery,后端编码为 PHP。

我有一个域名

example.com 

和一个子域

a.example.com

在浏览器上,我将 example.com 重定向到 a.example.com。现在我希望即使 a.example.com 显示给用户,地址栏也应该显示 example.com 作为打开的域。

我该怎么做?如果用户属于同一个主域名,有没有办法欺骗真正的 url 并向用户显示另一个 url?

谢谢

出于安全原因,这是不可能的。

您无法控制 url 浏览器向用户显示的内容,除了让用户导航到特定 url。

想象一下,如果这是可能的,那么有多少恶意网站会伪装成它们实际上不是的网站。

如果目的是在浏览器中欺骗地址,那不是一个好主意。但是如果你想显示 a.example.com 的内容,同时保持 example.com 的地址,那么你可以在你的 example.com 索引文件中使用 php include ('http://a.example.com')。但是,您应该在 php.ini 文件中启用 url include。 另一种方法是在您的 example.com 索引文件中使用 <iframe src='http://a.example.com'></iframe>,以便用户始终看到 example.com 地址,而内容来自 a.example.com

您可以使用您的服务器在浏览器中显示 example.com 而不是使用浏览器重定向,同时实际呈现 a.example.com

这可以在虚拟主机设置下使用 apache 服务器(如果您使用 PHP + APACHE)来完成

<VirtualHost *:80>
  ServerName example.com
  ServerAlias *.example.com
  ProxyPassMatch ^/(*)$ http://a.example.com/
  ...
  ...
</VirtualHost>

这将为从 example.com 到 a.example.com 的所有请求创建一个代理,而不更改 url。它会 运行 你的代码在 a.example.com.

注意:这需要 apache 中的 mod_proxy 模块

希望对您有所帮助!!