Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

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]
</VirtualHost> 

Here, when I type

localhost/market

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

localhost:8080/stackoverflow/market

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

localhost:8080/stackoverflow/market/abc

Then, My address bar will show the above URL

I want my Apache server to redirect me to

localhost/market/abc

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

localhost:8080/stackoverflow/market/abc

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

share|improve this question

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 / http://10.160.1.234:80/
        ProxyPassReverse / http://10.160.1.234:80/
        ErrorLog /var/log/apache2/error_name.log
        LogLevel warn
        CustomLog /var/log/apache2/access_name.log combined
</VirtualHost>

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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