'Apache Reverse Proxy not rewriting URLs the way I expect

I am pretty new to Apache and was hoping to setup a reverse proxy to be able to access so the web interfaces of some IP Cameras I have from one site. The basic layout I'm using is below:

                             / Cam 1 - 192.168.1.10  
Reverse Proxy - 192.168.1.6 -
                             \ Cam 2 - 192.168.1.11

When I click a link it doesn't resolve correctly, the URL should be http://192.168.1.6/cam1/settings.htm but it resolves to http://192.168.1.6/setting.htm

Not Found
The requested URL /setting.htm was not found on this server.
Apache/2.2.22 (Debian) Server at 192.168.1.6 Port 80

My Config is here, I'm using the standard httpd.conf with the proxy and rewrite modules enabled:

ProxyRequests off
<Proxy *>
    Order allow,deny
    Allow from all
</Proxy>

<VirtualHost *>
        Servername webserver
        RewriteEngine on

        RewriteRule ^/cam1/(.*)$ http://192.168.1.10$1 [P]
        RewriteRule ^/cam2/(.*)$ http://192.168.1.11$1 [P]

        ProxyPass /cam1 http://192.168.1.10
        ProxyPassReverse /cam1 http://192.168.1.10
        ProxyPass /cam2 http://192.168.1.11
        ProxyPassReverse /cam2 http://192.168.1.11

</VirtualHost>

Any help would be appreciated.

Cheers, Adam



Solution 1:[1]

In logs you can clearly see that there are some files missing like File does not exist: /var/www/jpg and /var/www/lang so may be this is the reason for your storage issue.I bet you that you missed some configuration while server OR your server msy corrupt these files while running due to some other files.I suggest you to fresh download and then reinstall it.

Solution 2:[2]

For future users:

cat /etc/apache2/sites-available/default

<VirtualHost *:80>
    ServerAdmin [email protected]

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride All
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from 192.168.5.25
    </Directory>


    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ProxyPass               /cameras/               http://192.168.5.6/
    ProxyPassReverse        /cameras/               http://192.168.5.6/

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 khan
Solution 2 Tobias Sette