KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
They say that Apache's mod_rewrite is the swiss-army knife of URL manipulation, but can it do this? Lets say I want to add a new application to my Apache webserver, where the only configurable option of the app is a port number. I want to use & give out URLs of the form " http://hostname.example.com/app " rather than " http://hostname.example.com:8080 ". This would ensure that clients would be getting through the institution's firewall as well, and it's generally tidier. My application includes absolute URIs in php, javascript and css, so I want to prepend my own root location to the URI in the applications internal links. I have no access to DNS records and so can't create another name-based virtual server. Using Apache's mod_rewrite and mod_proxy modules, I can transparently redirect a client to the correct home-page of the application. But links within that homepage don't point a client to links relative to the new base URL. So, what's the best way of proxying a request to an application that is listening on a specific port? For example, if I had an application listening on port 8080, I could put this in my Apache configuration:- <VirtualHost *:80> SSLProxyEngine On ServerName myhost.example.com RewriteEngine On UseCanonicalName On ProxyVia On <Location "/application"> RewriteRule ^/application/?(.*) http://localhost:8080/$1 [P,L] </Location> </VirtualHost> This would work fine if the application didn't use absolute URLs, but it does. What I need to do is rewrite URLs that are returned by the application's css, javascript and php. I've looked at the ProxyPass and ReverseProxyPass documentation, but I don't think these would work..? I've also come across Nick Kew's <a href="http://
Tags (comma-separated)
Save Edits
Cancel