====== Substitute HTML or JavaScript on the fly ====== Using this recipe - while browsing a remote server - you can trick your browser into taking one file (JavaScript, HTML, image, ecc.) from a web server controlled by you, instead of from the original server. This can be useful to test some changes on a production server without actually touching the deployed code. It works by telling the browser to use a proxy for a particular URL, and configure a fake web server to serve that content, eventually canged. Create a file **''proxy.pac''** and store it into your web server: function FindProxyForURL(url, host) { if (shExpMatch(url, "http://remote.server.com:8084/subdir/page.jsp?query_string")) { return "PROXY your.server.org:8084"; } } Configure a fake ''VirtualHost'' on your web server: NameVirtualHost *:8084 Listen 8084 ServerName remote.server.com DocumentRoot /var/www/remote.server.com ServerAdmin webmaster@rigacci.org ErrorLog /var/log/apache2/remote.server.com/error.log CustomLog /var/log/apache2/remote.server.com/access.log combined # Force .jsp to be served as HTML AddType text/html .jsp AllowOverride All Then put the fake file into the DocumentRoot for the VirtaulHost. In the example above it will be **''/var/www/remote.server.com/subdir/page.jsp''**. Configure the browser to use automatic proxy configuration, and give **''%%http://your.server.org/proxy.pac%%''** as the URL. **NOTE:** This trick **does not work with Internet Explorer**, because it caches the proxy configuration on a per-server basis. If one page from the server was got via proxy, all the subsequent pages will be too.