replying to myself, with a resolution, and a possible new problem. On Mon, Mar 8, 2010 at 11:12 AM, P Kishor <punk.kish@gmail.com> wrote:
starting a new thread, for clarity sake. Is the following possible with mod_proxy (I have fudged the prompts below to illustrate my scenario)?
On my laptop, with Apache ---------------------------------------- punkish ~/dance1$./dance1.pl
Dancer server xxxxx listening on http://0.0.0.0:3000/ == Entering the development dance floor ...
punkish ~/dance2$./dance2.pl
Dancer server xxxxx listening on http://0.0.0.0:3001/ == Entering the development dance floor ...
punkish ~/Documents/dance3$./dance3.pl
Dancer server xxxxx listening on http://0.0.0.0:3002/ == Entering the development dance floor ...
Then, from my browser
http://localhost/dance1 http://localhost/dance2 http://localhost/dance3
There is something weird with Apache. Seems like under certain conditions, or for certain settings, Apache doesn't recognize changes in conf with just a simple 'apachctl graceful'. After struggling with this for a day and a half, I remembered something similar happening a few months ago with mod_rewrite. The solution was to reboot the machine. I know this sounds stupid, and has no basis in scientific logic, but I rebooted the laptop, and bingo! mod_proxy started working. I do hope this helps someone else. Now, a new problem... so, I have the following on my hard disk ~/dance/punkishdance %./punkishdance.pl
Dancer server 2139 listening on http://0.0.0.0:3000 == Entering the development dance floor ...
And, I have the following in my httpd.conf file ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /punkishdance/ http://localhost:3000/ ProxyPassReverse /punkishdance/ http://localhost:3000/ Now, when I point my browser at http://localhost/punkishdance, I get my website, except... the browser can't retrieve stuff under ~/dance/punkishdance/public, for example, the browser throws a 404 for http://localhost/punkishdance/public/css/grid.css which is at ~/dance/punkishdance/css/style.css I can't get it directly, and of course, I can't get it included in web page, via main.tt. How do I correct this? Which brings me to an associated question. I have the following routes in my app get '/:p' => sub { pass unless (defined params->{p}); template 'page', { page => _page(params->{p}), name => params->{p} }; }; get '/' => sub { template 'page', { page => _page('Intro-Page'), name => params->{p} }; }; Why is it not possible to combine the above two into a single route with an optional param kinda like so get '/:p?' => sub { params->{p} eq 'Intro-Page' unless params->{p}; template 'page', { page => _page(params->{p}), name => params->{p} }; }; -- Puneet Kishor http://www.punkish.org Carbon Model http://carbonmodel.org Charter Member, Open Source Geospatial Foundation http://www.osgeo.org Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor Nelson Institute, UW-Madison http://www.nelson.wisc.edu ----------------------------------------------------------------------- Assertions are politics; backing up assertions with evidence is science =======================================================================