I am using Apache 2 and using the below virtual host definition in httpd.conf file

<VirtualHost *>
    ServerName localhost   
    ProxyPass / http://localhost:8080/stackoverflow/ 
    ProxyPassReverse / http://localhost:8080/stackoverflow/ 
    RewriteEngine On
    RewriteRule  ^(market|stock|mutual)$ stackoverflow/$1 [L]

Here, when I type


then Apache internally rewrite the URL and show me the contents of


Now my problem is: When I click on any of the link of that site having following URL


Then, My address bar will show the above URL

I want my Apache server to redirect me to


means User will be shown the above URL, but the contents will come from


I was thinking if I need to set reverse proxy for this. Please help me on this.

1 Answer 1


This is what a proper reverse proxy should look like:

<VirtualHost *:80>
        ServerName sub.domain.org
        ProxyRequests Off
        ProxyPreserveHost On
        ProxyVia full
        ProxyPass /
        ProxyPassReverse /
        ErrorLog /var/log/apache2/error_name.log
        LogLevel warn
        CustomLog /var/log/apache2/access_name.log combined

But it is REALLY unclear what you are doing. Do you WANT it to rewrite to port 8080? Are you just trying to rewrite the URL (remove one subdirectory)? If so, then you can stick with standard rewrite rules rather than a reverse proxy.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.