我正在创建一个使用2个虚拟主机的Android应用。一个用于api,另一个用于我的应用程序中上传的所有图像的存储库。我可以在不使用虚拟主机和笔记本电脑的IP地址的情况下访问其中一个。但我想通过虚拟主机访问它们,以便在将其上传到实时服务器时不必更改它。请帮我怎么做。
这是我的XAMPP“httpd-vhosts.conf”文件的片段:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/myprojectapi"
ServerName api.mydomain.com
ServerAlias api.mydomain.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/myimages"
ServerName images.mydomain.com
ServerAlias images.mydomain.com
</VirtualHost>
并且我的窗口片段“托管”文件:
127.0.0.1 api.mydomain.com
127.0.0.1 images.mydomain.com
我只能通过我的Android手机访问其中一个,但只能通过笔记本电脑的IP地址访问其中一个vhost:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/myprojectapi"
ServerName api.mydomain.com
ServerAlias api.mydomain.com
</VirtualHost>
#<VirtualHost *:80>
# DocumentRoot "C:/xampp/htdocs/myimages"
# ServerName images.mydomain.com
# ServerAlias images.mydomain.com
#</VirtualHost>
和我的主人档案:
127.0.0.1 api.mydomain.com
#127.0.0.1 images.mydomain.com
但为了让我的应用程序正常工作,我需要同时通过命名虚拟主机访问这两个项目。我应该怎么做才能使这项工作?请帮忙。
更新
我已经使用了不同的端口但它仍然无效。
以下是我更新的vhost文件的片段:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/myprojectapi"
ServerName api.mydomain.com
ServerAlias api.mydomain.com
</VirtualHost>
<VirtualHost *:8081>
DocumentRoot "C:/xampp/htdocs/myimages"
ServerName images.mydomain.com
ServerAlias images.mydomain.com
</VirtualHost>
并且是我更新的主机文件中的片段:
192.168.2.5 api.mydomain.com
192.168.2.5 images.mydomain.com
答案 0 :(得分:1)
如果您想要访问仿真器内的虚拟主机(如GenyMotion或其他任何虚拟主机),请按以下步骤操作:
1:打开httpd.conf
文件
2:为不同的虚拟主机选择不同的端口,并确保在那里添加Listen ****
Listen 80
Listen 8081
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/myprojectapi"
ServerName api.mydomain.com
ServerAlias api.mydomain.com
</VirtualHost>
<VirtualHost *:8081>
DocumentRoot "C:/xampp/htdocs/myimages"
ServerName images.mydomain.com
ServerAlias images.mydomain.com
</VirtualHost>
3:保存httpd.conf
文件并重新启动apache
服务。
4:在您的模拟器中打开浏览器并转到http://10.0.2.2:8081/
,您将看到images.mydomain.com
那里:)