我有一个用HTML5 + javascript + jquery编写前端和用PHP编写后端的网站。
我有一个域名
example.com 和子域
a.example.com在浏览器上,我将example.com重定向到a.example.com。现在,我希望即使向用户显示a.example.com,地址栏也应该将example.com显示为打开的域。
我该怎么做?是否有一种方法来欺骗真实的url,并向用户显示另一个url,如果他们属于同一个主域名?
谢谢
发布于 2017-02-22 10:04:45
不使用浏览器重定向,您可以使用服务器在浏览器中显示example.com,同时实际呈现a.example.com。
这可以在apache服务器(如果您使用PHP + APACHE )的Virtualhost设置下使用。
<VirtualHost *:80>
ServerName example.com
ServerAlias *.example.com
ProxyPassMatch ^/(*)$ http://a.example.com/$1
...
...
</VirtualHost>这将为从example.com到a.example.com的所有请求提供一个代理,而不需要更改url。它将在a.example.com下运行您的代码。
注意:这需要apache中的mod_proxy模块。
希望这能帮上忙!
发布于 2017-02-22 07:32:39
出于安全原因这是不可能的。
除了让用户导航到特定的url之外,您无法控制浏览器显示给用户的url。
想象一下,如果这是可能的话,有多少恶意网站会假装他们不是一个网站。
发布于 2017-02-22 08:02:13
如果目的是在浏览器中欺骗地址,这不是一个好主意。但是,如果您想在维护a.example.com地址的同时显示example.com的内容,那么可以在example.com索引文件中使用include ('http://a.example.com')。但是,您应该在php.ini文件中启用url包含。另一种方法是在您的<iframe src='http://a.example.com'></iframe>索引文件中使用example.com,这样当内容来自a.example.com时,用户总是看到example.com地址。
https://stackoverflow.com/questions/42385243
复制相似问题