Could you have an old cookie or something cached in your browser that had the old URL somehow?
The rules look good to me...
You shouldn't need the RewriteEngine unless you have rewrite conditions and rules (RewriteCond / RewriteRule).
Before the ProxyPass / ProxyPassReverse lines, try adding "ProxyRequests Off" which disables any arbitrary proxying. (Good to have even if this doesn't fix your issue.)
You might also try the Location directive...
- Code: Select all
ProxyRequests Off
<Location /myxy>
ProxyPass http://localhost:8080/subsonic
ProxyPassReverse http://localhost:8080/subsonic
</Location>
However, the "best" way to proxy tomcat behind apache is mod_jk. Enable the module, then add this to your virtual host:
- Code: Select all
# mod_jk / AJP 1.3
JkOptions +ForwardURICompatUnparsed +ForwardDirectories
JkMount /myxy/* tomcat
(Where 'tomcat' above is the name of your 'worker'.) Then in your workers.properties (under apache conf somewhere, like /etc/apache2), try this:
- Code: Select all
worker.list=tomcat
worker.tomcat.host=localhost
worker.tomcat.port=8009
worker.tomcat.type=ajp13
worker.tomcat.lbfactor=1
worker.tomcat.mount=/myxy /subsonic/* # should only need if changing from/to mount points, if just using /subsonic to /subsonic, remove this line.
I've not ever tried changing the from/to mount point under mod_jk. I've only needed to pass apache /foo to tomcat /foo. When using mod_jk, you also have to instruct tomcat to enable the AJP protocol.
In server.xml: (e.g. /etc/tomcat6/server.xml)
- Code: Select all
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
On last thing to try: rename subsonic.war to myxy.war, then deploy it. (Don't have both wars deployed!)