我想在我拥有的网站上运行一些本地测试。该网站可在www.mysite.com上访问。我想从本地计算机中获取一个特定文件。
我认为我可以做到这一点首先,我不确定该设置是否有效 - 如果请求的文件不是我的特殊情况,请求将被转发到www.mysite.com / ...,但是然后(因为我的hosts文件中的条目)回到我的本地Apache服务器并进入一些无限循环?
其次(如果上述情况不正确,则仅相关),我如何配置Apache来做到这一点?我想我需要一个ProxyPass,但我很难搞清楚到底是什么。
感谢您的帮助。
保
答案 0 :(得分:0)
我认为您无法以您建议的方式执行此操作,因为您将无法执行查询以代理www.mysite.com您已将其定义为localhost。
您可以在主机文件中创建另一个域,比如local.mysite.com
并在那里托管所需的网站文件并将其他所有内容代理到www.mysite.com:
<VirtualHost *:80>
ServerName local.mysite.com
DocumentRoot ...
<Directory ...>
...
</Directory>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/myapp/myfile.css
RewriteRule ^(.*)$ http://www.mysite.com/$1 [P]
</VirtualHost>
或者,如果www.mysite.com直接使用IP(即不通过虚拟主机),您可以将localhost指向mysite.com并在重写代理中使用真实IP。
<VirtualHost *:80>
ServerName www.mysite.com
DocumentRoot ...
<Directory ...>
...
</Directory>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/myapp/myfile.css
RewriteRule ^(.*)$ http://1.2.3.4/$1 [P]
</VirtualHost>