您需要添加
192.168.178.57 site.to.browse
到您的 android 手机上的 hosts 文件,以便它知道它http://site.to.browse/
指的是您的服务器192.168.178.57
。
如果您想改用访问您的虚拟主机,则需要在默认虚拟主机上http://192.168.178.57/site.to.browse
进行本地 URL 重写,将页面请求重定向到所需的虚拟主机。因此,在默认 vhost 的 Apache 配置中,添加
RewriteEngine On
RewriteRule ^/*site\.to\.browse/*(.*)$ http://site.to.browse/$1 [PT,L]
http://192.168.178.57/site.to.browse/some/page.html
不幸的是,这会导致客户端使用的 URL(例如)与服务器实际提供的 URL( )之间存在差异http://site.to.browse/some/page.html
。特别是,绝对路径 ( /some/page.html
) 将无法正确重定向。
您可以通过从默认虚拟主机反向代理内部虚拟主机来避免这种情况,例如使用 mod_proxy_html 和/或 mod_substitute 来调整内容中的 URL 和路径。
一种更实用的测试方法是将 vhost 中有趣的所有内容放在顶层文件夹中,这样绝对 URL 只会因主机名部分而异。为此,您需要
RewriteEngine On
RewriteRule ^/*site\.to\.browse/*(.*)$ http://site.to.browse/site.to.browse/$1 [PT,L]
在默认 vhost 的 Apache 配置中,以及
RewriteEngine On
RewriteRule ^/*site\.to\.browse$ /site.to.browse/ [R,L]
RewriteCond %{REQUEST_URI} !^/*site\.to\.browse/
RewriteRule ^/*(.*)$ /site.to.browse/$1 [R,L]
在虚拟主机配置中;后一部分将重定向任何http://site.to.browse/foo
到http://site.to.browse/site.to.browse/foo
,包括http://site.to.browse/
到http://site.to.browse/site.to.browse/
。
显然,您不需要site.to.browse
用作文件夹名称;你可以只使用 eg mysite
。然后配置将是
RewriteEngine On
RewriteRule ^/*mysite/*(.*)$ http://site.to.browse/mysite/$1 [PT,L]
在默认虚拟主机上,以及
RewriteEngine On
RewriteRule ^/*mysite$ /mysite/ [R,L]
RewriteCond %{REQUEST_URI} !^/*mysite/
RewriteRule ^/*(.*)$ /mysite/$1 [R,L]
在 site.to.browse 虚拟主机中。后者会将不在 mysite 文件夹下的任何内容重定向到 mysite 文件夹下。