1 回答

TA贡献1890条经验 获得超9个赞
您需要解决访问时两个域都指向本地主机的问题。在/etc/hosts中添加:
127.0.0.1 xyz.com
127.0.0.1 xyz.net
现在,如果您在浏览器中访问 xyz.com 或 xyz.com,它将解析为您的本地计算机。
配置 apache vhosts 以指向 localhost:2000,如下所示:
<VirtualHost *:80>
ServerName xyz.com
ProxyPreserveHost On
ProxyRequests off
<Location />
ProxyPass http://localhost:2000/
ProxyPassReverse http://localhost:2000/
Order allow,deny
Allow from all
</Location>
</VirtualHost>
第二个:
<VirtualHost *:80>
ServerName xyz.net
ProxyPreserveHost On
ProxyRequests off
<Location />
ProxyPass http://localhost:2000/
ProxyPassReverse http://localhost:2000/
Order allow,deny
Allow from all
</Location>
</VirtualHost>
启用两个虚拟主机(sudo a2ensite [name].conf)并重新加载 apache。您还需要 proxy_http mod: sudo a2enmod proxy_http。现在两个 url 都指向您的 localhost:2000。
在您的 PHP 应用程序中检测域并基于该域连接到您需要的任何数据库。我使用了这个文件 g.php:
<?php
var_dump($_SERVER['HTTP_HOST']);
并在 localhost:2000 上用 php 的开发服务器提供它(您将在 docker 上使用它):
php -S localhost:2000 g.php
PHP 7.0.33-0ubuntu0.16.04.15 Development Server started at Thu Jul 9 20:34:03 2020
Listening on http://localhost:2000
当我在浏览器中访问 xyz.net 时,我得到:string(7) "xyz.net" 当我在浏览器中访问 xyz.com 时,我得到:string(7) "xyz.com"
- 1 回答
- 0 关注
- 120 浏览
添加回答
举报