PHP项目需要将用户专用域映射/屏蔽到项目URL(不更改URL中的用户域)



我们有一个php项目/php web应用程序,用户可以在其中创建配置文件,这些配置文件或多或少看起来像像 robert.blogger.com 这样的子域URL上的网站。现在,此用户还具有自己的示例 robert.com 域。现在,我们希望每个 robert.com 请求都重定向到 robert.blogger.com 而不更改 URL。

URL应该显示 robert.com/home.html,robert.com/aboutus.html 等,但实际上代码应该从 robert.blogger.com/index.html,robert.com/aboutus.html 等运行。

请注意,该项目托管在具有专用IP的专用服务器上,我们还可以访问用户域的控制面板。

我们已经尝试过htaccess,但这只是重定向,我们希望屏蔽/映射工作。

这可能吗?如果是这样,如何做到这一点?将不胜感激!!

解决方案将取决于您运行的服务器软件类型,但在 Apache 中,您可以通过将 IP 的默认虚拟主机映射到应用程序(然后让人们将其域指向该主机)来执行此操作,并在您的应用程序中使用 $_SERVER 中的HTTP_HOST来查找有效域(您可能已经在这样做将子域映射到用户帐户)。这将是完全相同的事情,只要你保持所有链接在你的HTML中相对(不要认为"我把它映射到这个用户,所以域应该是 user.example.com")。

为了给出更具体的答案,你必须在你的问题中更具体。

如果你有权使用它,应该可以在htaccess中使用ProxyPass。尝试这样的事情。

ServerName robert.com
RewriteRule ^/(.*)$ http://robert.blogger.com/$1 [L,P]

或者,您可以在应用程序中映射它,具体取决于该服务器是否属于您,您可以执行任何要设置的操作。

最新更新